Showing preview only (1,805K chars total). Download the full file or copy to clipboard to get everything.
Repository: dkhamsing/open-source-ios-apps
Branch: master
Commit: 20295c17bf34
Files: 27
Total size: 1.7 MB
Directory structure:
gitextract_p7dryf9v/
├── .circleci/
│ └── config.yml
├── .github/
│ ├── CONTRIBUTING.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── deploy.sh
│ ├── inspect.rb
│ ├── osia_category_list.rb
│ ├── osia_convert.rb
│ ├── osia_get_history.rb
│ ├── osia_get_lic.rb
│ ├── osia_get_links.rb
│ ├── osia_helper.rb
│ ├── osia_history_missing.rb
│ ├── osia_screenshots_missing.rb
│ ├── osia_tweet_clean.rb
│ ├── osia_update_github.rb
│ ├── osia_update_history.rb
│ ├── osia_update_lic.rb
│ ├── osia_validate_categories.rb
│ ├── schema.json
│ └── workflows/
│ └── ruby.yml
├── .gitignore
├── APPSTORE.md
├── ARCHIVE.md
├── LATEST.md
├── LICENSE
├── README.md
└── contents.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .circleci/config.yml
================================================
version: 2
jobs:
build:
working_directory: ~/dkhamsing/open-source-ios-apps
parallelism: 1
shell: /bin/bash --login
environment:
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
docker:
- image: circleci/build-image:ubuntu-14.04-XXL-upstart-1189-5614f37
steps:
- checkout
- run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS
- run:
working_directory: ~/dkhamsing/open-source-ios-apps
command: rm -f dkhamsing/open-source-ios-apps/.rvmrc; echo 2.4.0 > dkhamsing/open-source-ios-apps/.ruby-version; rvm use 2.4.0 --default
- restore_cache:
keys:
- v1-dep-{{ .Branch }}-
- v1-dep-master-
- v1-dep-
- save_cache:
key: v1-dep-{{ .Branch }}-{{ epoch }}
paths:
- vendor/bundle
- ~/virtualenvs
- ~/.m2
- ~/.ivy2
- ~/.bundle
- ~/.go_workspace
- ~/.gradle
- ~/.cache/bower
- run: gem install json_schema
- run: validate-schema .github/schema.json contents.json
- run: ruby .github/osia_validate_categories.rb
- store_test_results:
path: /tmp/circleci-test-results
# Save artifacts
- store_artifacts:
path: /tmp/circleci-artifacts
- store_artifacts:
path: /tmp/circleci-test-results
deploy:
working_directory: ~/dkhamsing/open-source-ios-apps
parallelism: 1
shell: /bin/bash --login
docker:
- image: circleci/build-image:ubuntu-14.04-XXL-upstart-1189-5614f37
steps:
- checkout
- run:
working_directory: ~/dkhamsing/open-source-ios-apps
command: rm -f dkhamsing/open-source-ios-apps/.rvmrc; echo 2.4.0 > dkhamsing/open-source-ios-apps/.ruby-version; rvm use 2.4.0 --default
- restore_cache:
keys:
- v1-dep-{{ .Branch }}-
- v1-dep-master-
- v1-dep-
- save_cache:
key: v1-dep-{{ .Branch }}-{{ epoch }}
paths:
- vendor/bundle
- ~/virtualenvs
- ~/.m2
- ~/.ivy2
- ~/.bundle
- ~/.go_workspace
- ~/.gradle
- ~/.cache/bower
- run: ruby .github/osia_convert.rb
- run: ./.github/deploy.sh
# - run: gem install delete_my_tweets
# - run: ruby .github/osia_tweet_clean.rb
workflows:
version: 2
osia:
jobs:
- build
- deploy:
requires:
- build
filters:
branches:
only: master
================================================
FILE: .github/CONTRIBUTING.md
================================================
To contribute to`open-source-ios-apps`, update the **contents.json** file (this will generate the README).
A new entry should update **contents.json** with this format:
```js
{
"title": "Name of the app",
"category-ids": ["Category id"],
"description": "What this app does",
"source": "Link to source, usually GitHub",
"itunes": "Link to App Store",
"screenshots": ["http://something.com/image.png"],
"date_added": "Aug 6 2016",
"suggested_by": "@github_username"
}
```
:tada:
For more information, please read https://github.com/dkhamsing/open-source-ios-apps/wiki
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
<!-- Thanks for contributing to open-source-ios-apps 😊
⚠️ Please do not edit the README, instead make changes to contents.json
To create a new category, please open an issue (see CONTRIBUTING)
Please fill the following if applicable 🙏
-->
## Add a project
1. [ ] Project URL:
2. [ ] Update contents.json instead of README
3. [ ] One project per pull request
4. [ ] Screenshot included
5. [ ] Avoid iOS or open-source in description as it is assumed
6. [ ] Use this commit title format if applicable: Add app-name by @github-username
7. [ ] Use approved format for your entry
<!-- Approved format (example)
{
"title": "Name of the app",
"category-ids": ["Category id"],
"tags": ["swift"],
"description": "What this app does",
"source": "Link to source, usually GitHub",
"screenshots": ["http://something.com/image.png"],
"date_added": "Aug 6 2016",
"suggested_by": "@github_username"
}
For more information, read https://github.com/dkhamsing/open-source-ios-apps/blob/master/.github/CONTRIBUTING.md
-->
## Archive a project
1. [ ] Project URL:
2. [ ] Add `archive` tag
================================================
FILE: .github/deploy.sh
================================================
#!/bin/bash
set -e
git config user.name "READMEbot"
git config user.email "readmebot@users.noreply.github.com"
status=`git status`
if [[ $status == *"README.md"* ]]
then
git add README.md
git commit -m "[auto] [ci skip] Generate README"
fi
if [[ $status == *"ARCHIVE.md"* ]]
then
git add ARCHIVE.md
git commit -m "[auto] [ci skip] Generate ARCHIVE"
fi
if [[ $status == *"APPSTORE.md"* ]]
then
git add APPSTORE.md
git commit -m "[auto] [ci skip] Generate APPSTORE"
fi
if [[ $status == *"LATEST.md"* ]]
then
git add LATEST.md
git commit -m "[auto] [ci skip] Generate LATEST"
fi
git push --quiet "https://${GH_TOKEN}@github.com/dkhamsing/open-source-ios-apps" master:master > /dev/null 2>&1
================================================
FILE: .github/inspect.rb
================================================
require 'json'
require 'pp'
if ARGV.count == 0
puts "Usage: ruby inspect.rb <project number>"
exit
end
c = File.read 'contents.json'
j = JSON.parse c
projects = j['projects']
proj = ARGV[0].to_i
pp projects[proj]
================================================
FILE: .github/osia_category_list.rb
================================================
require_relative 'osia_helper'
j = get_json
c = j['categories']
osia_allowed_categories(c).each { |cat| puts cat }
================================================
FILE: .github/osia_convert.rb
================================================
require_relative 'osia_helper'
require 'date'
# Constants
README = 'README.md'
ARCHIVE = 'ARCHIVE.md'
APPSTORE = 'APPSTORE.md'
LATEST = 'LATEST.md'
ARCHIVE_TAG = 'archive'
LATEST_NUM = 30
SHOW_TWITTER = false
# Helpers
def app_store_total(j)
apps = j['projects']
s = apps.reject { |x| x['itunes'].nil? }
count = 1
s.each do |x|
tags = x['tags']
if tags.nil?
t = "#{count} "
count = count + 1
else
unless tags.include?(ARCHIVE_TAG)
t = "#{count} #{tags}"
count = count + 1
end
end
end
count
end
def apps_archived(apps)
a = apps.select { |a| a['tags'] != nil }.select { |b| b['tags'].include?(ARCHIVE_TAG) }
a.sort_by { |k, v| k['title'].downcase }
end
def apps_for_cat(apps, id)
f = apps.select do |a|
tags = a['tags']
if tags.nil?
true
else
!(tags.include?(ARCHIVE_TAG))
end
end
s = f.select do |a|
cat = a['category-ids']
cat.class == Array ? cat.include?(id) : (cat == id)
end
s.sort_by { |k, v| k['title'].downcase }
end
def apps_latest(apps, num)
a = apps.select { |a| a['date_added'] != nil }
.sort_by { |k, v| DateTime.parse(k['date_added']) }
.reverse
a[0..num - 1]
end
def apps_updated(apps, num)
a = apps.select { |a| a['updated'] != nil }
.sort_by { |k, v| DateTime.parse(k['updated']) }
.reverse
a[0..num - 1]
end
def output_apps(apps, appstoreonly)
o = ''
apps.each do |a|
name = a['title']
link = a['source']
itunes = a['itunes']
homepage = a['homepage']
desc = a['description']
tags = a['tags']
stars = a['stars']
date_updated = a['updated']
screenshots = a['screenshots']
license = a['license']
lines = []
line = []
line.push "[#{name}](#{link})"
unless desc.nil?
line.push ": #{desc}" if desc.size>0
end
lines.push line
line = []
unless homepage.nil?
line.push "<a href=#{homepage}>`#{homepage}`</a>"
end
lines.push line
line = []
unless itunes.nil?
line.push "[` App Store`](#{itunes})"
end
if appstoreonly
next if itunes.nil?
end
unless screenshots.nil? || screenshots.empty?
screenshots.each_with_index do |s, i|
line.push " <a href='#{screenshots[i]}'>`Screenshot #{i+1}`</a> "
end
end
lines.push line
line = []
unless date_updated.nil?
date = DateTime.parse(date_updated)
formatted_date = date.strftime "%Y"
line.push " `#{formatted_date}` "
end
# unless license.nil?
# license_display = license == 'other' ? "" : "[`#{license}`](http://choosealicense.com/licenses/#{license}/)"
# line.push << " #{license_display} "
# end
unless tags.nil?
line.push '`swift` ' if tags.include? 'swift'
tags.each do |t|
line.push "`#{t.downcase}` " if t.downcase != 'swift'
end
end
lines.push line
line = []
unless stars.nil?
line.push " ☆`#{stars}` " if stars > 0
end
lines.push line
lines.each_with_index do |item, i|
temp = ''
item.each { |x| temp << "#{x}" }
unless temp.empty?
if i == 0
o << "\n- #{temp}"
else
o << "\n - #{temp}"
end
end
end
# o << "\n"
end
o
end
def output_badges(count, twitter)
date = DateTime.now
date_display = date.strftime "%B %e, %Y"
date_display = date_display.gsub ' ', '%20'
b = ""
if twitter
b << " [](https://twitter.com/opensourceios)"
end
b << " "
return b
end
def write_archive(j, subtitle)
t = j['title']
apps = j['projects']
archived = apps_archived apps
footer = j['footer']
output = "\# #{t} Archive\n\n"
output << subtitle
output << "\n"
archived.each do |a|
t = a['title']
s = a['source']
output << "- [#{t}](#{s})\n"
end
output << "\n"
output << footer
file = ARCHIVE
File.open(file, 'w') { |f| f.write output }
puts "wrote #{file} ✨"
end
def write_latest(j, num, sub1, sub2)
t = j['title']
apps = j["projects"]
footer = j['footer']
latest = apps_latest(apps, num)
output = "\# #{t} Latest\n\n"
output << sub1
output << "\n"
count = 1
latest.each do |a|
t = a['title']
s = a['source']
output << "#{count}. [#{t}](#{s})\n"
count = count + 1
end
updated = apps_updated(apps, num)
output << "\n"
output << sub2
output << "\n"
count = 1
updated.each do |a|
t = a['title']
s = a['source']
output << "#{count}. [#{t}](#{s})\n"
count = count + 1
end
output << "\n"
output << footer
file = LATEST
File.open(file, 'w') { |f| f.write output }
puts "wrote #{file} ✨"
end
def write_list(j, file, subtitle, appstoreonly = false)
t = j['title']
desc = j['description']
h = j['header']
f = j['footer']
cats = j['categories']
apps = j['projects']
sponsor = j['sponsor']
output = '# ' + t
output << "\n\n"
output << desc
output << "\n\n#{subtitle}\n\n"
if appstoreonly == false
output << output_badges(apps.count, SHOW_TWITTER)
unless sponsor.length == 0
output << "\n\n"
output << sponsor
output << "\n"
end
end
output << "\n\nJump to\n\n"
cats.each do |c|
title = c['title']
m = title.match /\[.*?\]/
title = m[0].sub('[', '').sub(']', '') unless m.nil?
temp = "#{' ' unless c['parent'] == nil }- [#{title}](\##{c['id']}) \n"
output << temp
end
output << "- [Thanks](#thanks)\n"
output << "- [Contact](#contact)\n"
output << "\n"
output << h
output << "\n"
cats.each do |c|
temp = "\n#\##{'#' unless c['parent']==nil } #{c['title']} \n \n"
d = c['description']
temp << "#{d} — " unless d.nil?
temp << "[back to top](#readme) \n \n"
output << temp
cat_apps = apps_for_cat(apps, c['id'])
output << output_apps(cat_apps, appstoreonly)
end
output << "\n"
output << f
File.open(file, 'w') { |f| f.write output }
puts "wrote #{file} ✨"
end
# Script begins
j = get_json
subtitle_readme = j['subtitle']
write_list(j, README, subtitle_readme)
subtitle_app_store = "List of **#{app_store_total j}** open-source apps published on the App Store (complete list [here](https://github.com/dkhamsing/open-source-ios-apps))."
write_list(j, APPSTORE, subtitle_app_store, true)
subtitle_archive = "This is an archive of the [main list](https://github.com/dkhamsing/open-source-ios-apps) for projects that are no longer maintained / old.\n\n"
write_archive(j, subtitle_archive)
subtitle_latest = "## Lastest additions to the [main list](https://github.com/dkhamsing/open-source-ios-apps)\n"
subtitle_updated = "## Most recently updated\n"
write_latest(j, LATEST_NUM, subtitle_latest, subtitle_updated)
================================================
FILE: .github/osia_get_history.rb
================================================
require_relative 'osia_helper'
HISTORY = 'git_history'
j = get_json
apps = j['projects']
h = {}
apps.each_with_index do |a, i|
t = a['title']
puts "#{i + 1}/#{apps.count}. checking #{t}"
command = "git log --all --grep='#{t}'"
begin
r = `#{command}`
rescue e
r = e
end
h[t] = r
end
File.open(HISTORY, 'w') { |f| f.write JSON.pretty_generate h }
puts "wrote #{HISTORY} ✨"
================================================
FILE: .github/osia_get_lic.rb
================================================
require 'octokit'
require 'awesome_print'
g = ARGV[0]
if g.nil?
puts "Usage: get_lic <repo> \n i.e. get_lic dkhamsing/BrandColors"
exit
end
client = Octokit
begin
r = client.repo g, accept: 'application/vnd.github.drax-preview+json'
ap r
lic = r[:license][:key]
print "Result: "
ap lic
rescue => e
puts "Error: #{e}"
end
================================================
FILE: .github/osia_get_links.rb
================================================
require_relative 'osia_helper'
UNIQUES = 'check-unique.txt' # should be unique
LINKS = 'check-links.txt' # allow dupes
INFO = 'check-info.txt' # errors are allowed
def apps_archived(apps)
a = apps.select {|a| a['tags'] != nil }.select {|b| b['tags'].include?'archive'}
a.sort_by { |k, v| k['title'] }
end
j = get_json
a = j['projects']
archived = apps_archived a
active = a.reject { |x| archived.include? x }
uniques = []
info = []
active.each do |z|
uniques.push z['source']
uniques.push z['screenshots'] unless z['screenshots'].nil?
info.push z['itunes'] unless z['itunes'].nil?
end
uniques.each_with_index { |z, i| puts "#{i+1} #{z}" }
puts "Writing #{UNIQUES}"
File.open(UNIQUES, 'w') { |f| f.puts uniques }
puts "Writing #{INFO}"
File.open(INFO, 'w') { |f| f.puts info }
links = []
active.each do |z|
links.push z['homepage'] unless z['homepage'].nil?
links.push z['title'] unless z['title'].nil?
links.push z['description'] unless z['description'].nil?
end
c = j['categories']
c.each do |z|
links.push z['title']
end
links.each_with_index { |z, i| puts "#{i+1} #{z}" }
puts "Writing #{LINKS}"
File.open(LINKS, 'w') { |f| f.puts links }
================================================
FILE: .github/osia_helper.rb
================================================
require 'json'
FILE = 'contents.json'
def get_json
JSON.parse(File.read FILE)
end
def osia_allowed_categories(c)
c.sort_by { |h| h['title']}.map { |x| x['id']}
end
================================================
FILE: .github/osia_history_missing.rb
================================================
require_relative 'osia_helper'
j = get_json
apps = j['projects']
i = 0
apps.each do |a|
if a['date_added'].nil?
puts "#{i + 1}. History missing for #{a['title']}"
i = i + 1
end
end
================================================
FILE: .github/osia_screenshots_missing.rb
================================================
require_relative 'osia_helper'
j = get_json
apps = j['projects']
i = 0
apps.select {|a| a['screenshots'].nil? }.each do |a|
# if a['screenshots'].nil?
puts "#{i + 1}. Screenshots missing for #{a['title']}"
i = i + 1
# end
end
# apps.select {|a| a['screenshots']!=nil }.each do |a|
# s = a['screenshots']
# if s.count==0
# puts s
# puts "#{i + 1}. Screenshots missing for #{a['title']}"
# i = i + 1
# end
# end
================================================
FILE: .github/osia_tweet_clean.rb
================================================
require 'delete_my_tweets'
c = {
"consumer_key" => "X7TNI7gi1Bo3l3hRwShZr6Q5l",
"consumer_secret" => "clafmSRaf7AnnusNMaZEhMajEESfhw3XTGBfTwlfgBcjwRSHcn",
"access_token" => ENV['TWITTER_ACCESS_TOKEN'],
"access_token_secret" => ENV['TWITTER_ACCESS_TOKEN_SECRET'],
"filter" => {
"exclude" => [
"Add",
"add"
]
}
}
DeleteMyTweets.twitter_delete(c) do |o|
puts o
end
puts 'all done 🐤'
================================================
FILE: .github/osia_update_github.rb
================================================
require_relative 'osia_helper'
require 'octokit'
require 'netrc'
client = Octokit::Client.new(:netrc => true)
j = get_json
apps = j['projects']
updated = []
apps.each_with_index do |a, index|
s = a['source']
if s.nil?
updated.push a
elsif !(s.include? 'github')
updated.push a
else
print "#{index+1}/#{apps.count}\n"
begin
g = s.gsub('https://github.com/', '')
r = client.repo g
a['stars'] = r['stargazers_count']
a['updated'] = r['pushed_at']
updated.push a
rescue => e
puts "\nerror for #{s}: #{e}"
updated.push a
next
end
end
end
j['projects'] = updated
File.open(FILE, 'w') { |f| f.write JSON.pretty_generate(j) }
puts "\nUpdated #{FILE} ⭐️"
================================================
FILE: .github/osia_update_history.rb
================================================
require_relative 'osia_helper'
require 'awesome_print'
require 'colored'
HISTORY = 'git_history'
def get_author(a)
a = a.gsub 'Author:', ''
u =
if a.include? 'users.noreply.github.com>'
m = /<.*?@/.match a
'@' + m[0].sub('@','')
else
m = /.*</.match a
m[0]
end
t = u.sub('<', '').strip
t
end
j = get_json
apps = j['projects']
updated = []
c = File.read HISTORY
history = JSON.parse c
apps.each_with_index do |a, i|
t = a['title']
puts "#{i + 1}/#{apps.count}. Updating #{t}".yellow
h = history[t]
# TODO: skip entries with history
if h.size==0
updated.push a
else
lines = h.split "\n"
d=''
u=''
lines.reverse.each do |x|
# puts x
if d=='' || u==''
if x.include? 'Date:'
d = x.gsub('Date:','').strip
# d = x.gsub 'Date:',''
# puts d
end
if x.include? 'Author:'
u = get_author(x)
end
end
end
a['date_added'] = d
a['suggested_by'] = u
updated.push a
end
end
j['projects'] = updated
File.open(FILE, 'w') { |f| f.write JSON.pretty_generate(j) }
puts "\nUpdated #{FILE} ⭐️"
================================================
FILE: .github/osia_update_lic.rb
================================================
require_relative 'osia_helper'
require 'octokit'
require 'netrc'
client = Octokit::Client.new(:netrc => true)
j = get_json
apps = j['projects']
updated = []
apps.each do |a|
s = a['source']
if s.nil?
updated.push a
elsif !(s.include? 'github')
updated.push a
else
begin
g = s.gsub('https://github.com/', '')
r = client.repo g, accept: 'application/vnd.github.drax-preview+json'
lic = r[:license][:key]
print lic
print ':'
a['license'] = lic
puts a['license']
updated.push a
rescue => e
a['license'] = 'other'
puts a['license']
updated.push a
next
end
end
end
j['projects'] = updated
File.open(FILE, 'w') { |f| f.write JSON.pretty_generate(j) }
puts "\nUpdated #{FILE} ⭐️"
================================================
FILE: .github/osia_validate_categories.rb
================================================
require_relative 'osia_helper'
j = get_json
c = j['categories']
apps = j['projects']
def failed(cat, app)
puts "‼️ #{cat} is not a valid category for #{app}"
exit 1
end
def verify(cat, allowed, app)
failed(cat, app) unless allowed.include? cat
end
allowed_categories = osia_allowed_categories(c)
apps.each do |a|
cat = a['category-ids']
if cat.nil?
puts "missing category for #{a}"
exit 1
end
if cat.class == String
verify(cat, allowed_categories, a)
elsif cat.class == Array
cat.each { |d| verify(d, allowed_categories, a) }
end
end
puts 'categories validated ✅'
================================================
FILE: .github/schema.json
================================================
{
"$schema": "http://json-schema.org/draft-04/schema#",
"$id": "https://raw.githubusercontent.com/dkhamsing/open-source-ios-apps/master/.github/schema.json",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"description": {
"type": "string"
},
"header": {
"type": "string"
},
"sponsor": {
"type": "string"
},
"footer": {
"type": "string"
},
"categories": {
"type": "array",
"uniqueItems": true,
"items": {
"title": "Category Object",
"description": "A category to group project objects under.",
"properties": {
"title": {
"title": "Category Title",
"description": "A human-readable identifier for the category.",
"type": "string"
},
"id": {
"title": "Category Identifier",
"description": "A short identifier designed for programs. It should only contain lowercase alphanumeric characters and a - (dash) for replacing spaces.",
"type": "string",
"pattern": "^[^A-Z_ ]+$"
},
"description": {
"title": "Category Description",
"description": "A description of the category meant to be provided to the user.",
"type": "string",
"default": ""
},
"parent": {
"title": "Category Parent",
"description": "Makes the current category a subcategory of the category with an id that matches this value.",
"type": ["string", "null"],
"default": null
}
},
"required": ["title", "id"],
"additionalProperties": false
}
},
"projects": {
"type": "array",
"uniqueItems": true,
"items": {
"title": "Project Object",
"description": "An object that holds all the information for a specific project.",
"properties": {
"title": {
"title": "Project Title",
"description": "The official title of the project.",
"type": "string"
},
"category-ids": {
"title": "Project Category",
"description": "The list of categories that the project falls under. If it is a list, the categories should be ordered from most to least relevant/applicable to the project.",
"type": ["array"],
"items": {
"type": "string"
}
},
"description": {
"title": "Project Description",
"description": "A brief 1 sentence summary of the project.",
"type": "string"
},
"lang": {
"title": "Project Language",
"description": "A three-character ISO 639-2 code representing the primary language of the project, or a list of such codes, with the primary language first.",
"type": ["string", "array"],
"minLength": 3,
"maxLength": 3,
"minItems": 1,
"items": {
"type": "string",
"minLength": 3,
"maxLength": 3
},
"default": "eng"
},
"country": {
"title": "Project Country",
"description": "The country that the project operates out of or the country the project is designed for (if designed for a specific location). Null if country is unclear/unspecified.",
"type": ["string", "null"],
"minLength": 2,
"maxLength": 2,
"default": null
},
"license": {
"title": "Project License",
"description": "The license that the project's source is under.",
"type": "string",
"enum": ["mit", "mpl-2.0", "gpl-3.0", "lgpl-3.0", "unlicense", "bsd-2-clause", "isc", "lgpl-2.1", "gpl-2.0", "apache-2.0", "cc0-1.0", "artistic-2.0", "bsd-3-clause", "agpl-3.0", "epl-1.0", "epl-2.0", "ecl-2.0", "other"],
"default": "other"
},
"source": {
"title": "Project Source",
"description": "A URL where the source code to the project can be found.",
"type": "string",
"pattern": "^https?:\\/\\/.*?\\..*$"
},
"homepage": {
"title": "Project Homepage",
"description": "The URL for the project's homepage.",
"type": ["string", "null"],
"pattern": "^https?:\\/\\/.*?\\..*$",
"default": null
},
"itunes": {
"title": "Project iTunes Page",
"description": "The URL for iTunes page for the project's app.",
"type": ["string", "null"],
"pattern": "^https:\\/\\/apps\\.apple\\.com\\/.*?app\\/([^\\/]+\\/)?id[0-9]+$",
"default": null
},
"stars": {
"title": "Project Stars",
"description": "The number of stars a project has on Github, or null if the project is not a Github project.",
"type": ["null", "number"],
"multipleOf": 1.0,
"minimum": 0,
"default": null
},
"tags": {
"title": "Project Tags",
"description": "A place to put any metadata for a project. The items can be any type.",
"type": "array",
"minItems": 1,
"default": []
},
"suggested_by": {
"title": "Suggested By",
"description": "Name of person who suggested project.",
"type": "string"
},
"date_added": {
"title": "Date Added",
"description": "Date when project was added.",
"type": "string"
},
"updated": {
"title": "Date Updated",
"description": "Date when project was updated.",
"type": "string"
},
"screenshots": {
"title": "Screenshots",
"description": "Links to screenshot images.",
"type": "array"
}
},
"required": ["title", "category-ids", "source"],
"additionalProperties": false
}
}
},
"required": ["title", "categories", "projects"],
"additionalProperties": false
}
================================================
FILE: .github/workflows/ruby.yml
================================================
name: Ruby
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Ruby 2.6
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.6'
- name: Checks
run: |
ruby .github/osia_convert.rb
gem install awesome_bot
ruby .github/osia_get_links.rb
awesome_bot check-unique.txt --allow-ssl -a 302,429,502 -w shadowfacts,c0051d18eb21,636db0400a1d,263bb0f74818,b04e7e7b9917,86f88feaf81a,cdn-images-1
================================================
FILE: .gitignore
================================================
/.gtm/
================================================
FILE: APPSTORE.md
================================================
# Open-Source iOS Apps
<!--
⚠️ This README is generated, please do not update. To contribute, make changes to contents.json ⚠️
https://github.com/dkhamsing/open-source-ios-apps -->
List of **324** open-source apps published on the App Store (complete list [here](https://github.com/dkhamsing/open-source-ios-apps)).
Jump to
- [Apple TV](#apple-tv)
- [Apple Vision](#apple-vision)
- [Apple Watch](#apple-watch)
- [Browser](#browser)
- [Calculator](#calculator)
- [Calendar](#calendar)
- [Color](#color)
- [Clock](#clock)
- [Clone](#clone)
- [Communication](#communication)
- [Developer](#developer)
- [GitHub](#github)
- [Terminal](#terminal)
- [Education](#education)
- [Emulator](#emulator)
- [Event](#event)
- [Extension](#extension)
- [Content Blocking](#content-blocking)
- [Safari Extension](#safari-extension)
- [Today](#today)
- [Widget](#widget)
- [File](#file)
- [Finance](#finance)
- [Cryptocurrency](#cryptocurrency)
- [Game](#game)
- [Cocos2d](#cocos2d)
- [SpriteKit](#spritekit)
- [Health](#health)
- [Contact Tracing](#contact-tracing)
- [Contact Tracing Reference](#contact-tracing-reference)
- [Fitness](#fitness)
- [ResearchKit](#researchkit)
- [Home](#home)
- [Location](#location)
- [Media](#media)
- [Animoji](#animoji)
- [Audio](#audio)
- [Content](#content)
- [GIF](#gif)
- [Photo](#photo)
- [Video](#video)
- [News](#news)
- [Hacker News](#hacker-news)
- [News API](#news-api)
- [RSS](#rss)
- [Official](#official)
- [Productivity](#productivity)
- [Sample](#sample)
- [Scan](#scan)
- [Security](#security)
- [Password](#password)
- [Shopping](#shopping)
- [Social](#social)
- [Mastodon](#mastodon)
- [Tasks](#tasks)
- [Text](#text)
- [Notes](#notes)
- [Timer](#timer)
- [Travel](#travel)
- [Weather](#weather)
- [Misc](#misc)
- [Appcelerator](#appcelerator)
- [Core Data](#core-data)
- [Firebase](#firebase)
- [Flutter](#flutter)
- [GraphQL](#graphql)
- [Ionic](#ionic)
- [macOS](#macos)
- [React Native](#react-native)
- [ReactiveCocoa](#reactivecocoa)
- [Realm](#realm)
- [RxSwift](#rxswift)
- [SwiftUI](#swiftui)
- [VIPER](#viper)
- [Xamarin](#xamarin)
- [Bonus](#bonus)
- [Thanks](#thanks)
- [Contact](#contact)
## Apple TV
[back to top](#readme)
- [iCook TV](https://github.com/polydice/iCook-tvOS): Taiwanese cuisine cooking videos
- [` App Store`](https://apps.apple.com/app/ai-liao-li/id554065086) <a href='https://polydice.com/iCook-tvOS/images/Screenshot.png'>`Screenshot 1`</a>
- `2023` `swift`
- ☆`73`
- [Moonlight Game Streaming](https://github.com/moonlight-stream/moonlight-ios)
- [` App Store`](https://apps.apple.com/app/moonlight-game-streaming/id1000551566) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/a66520cc-5bf8-49e0-bfff-f859de4ad37a'>`Screenshot 1`</a>
- `2025` `c` `ipad`
- ☆`1528`
- [Stepik](https://github.com/StepicOrg/stepik-ios): Take open courses on https://stepik.org/
- [` App Store`](https://apps.apple.com/app/stepik-best-online-courses/id1064581926) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/6bbc0c9b-3c2c-4f2a-b8c6-10805eefd664'>`Screenshot 1`</a>
- `2025` `swift` `ipad` `alamofire` `swiftyjson` `sdwebimage` `devicekit` `promisekit` `swiftlint`
- ☆`168`
- [VLC](https://github.com/videolan/vlc): Media Player
- <a href=https://www.videolan.org/>`https://www.videolan.org/`</a>
- [` App Store`](https://apps.apple.com/app/vlc-for-ios/id650377962) <a href='https://user-images.githubusercontent.com/4723115/146823429-c85f22c0-e757-48c0-ba54-0930ed1769bc.png'>`Screenshot 1`</a>
- `2026` `objc` `ipad`
- ☆`17681`
## Apple Vision
[back to top](#readme)
## Apple Watch
[back to top](#readme)
- [420! Alarm](https://github.com/efremidze/Alarm)
- [` App Store`](https://apps.apple.com/app/420/id1194325430) <a href='https://raw.githubusercontent.com/efremidze/Alarm/master/screenshots/en-US/iPhone7-0-d41d8cd98f00b204e9800998ecf8427e.png'>`Screenshot 1`</a>
- `2022` `swift`
- ☆`61`
- [Chanify](https://github.com/chanify/chanify-ios): Safe and simple notification tool, includes a Notification Service Extension
- <a href=https://www.chanify.net>`https://www.chanify.net`</a>
- [` App Store`](https://apps.apple.com/app/id1531546573) <a href='https://raw.githubusercontent.com/wiki/chanify/chanify/images/preview.png'>`Screenshot 1`</a>
- `2024` `objc`
- ☆`227`
- [Clendar](https://github.com/vinhnx/Clendar): Minimal calendar & widgets
- [` App Store`](https://apps.apple.com/app/clendar-a-calendar-app/id1548102041) <a href='https://user-images.githubusercontent.com/4723115/211681182-b43b1c2d-b754-4408-ae44-c94fbd83370c.png'>`Screenshot 1`</a>
- `2026` `swift` `swiftui` `iphone` `ipad`
- ☆`701`
- [Gym Routine Tracker](https://github.com/open-trackers/Gym-Routine-Tracker-Watch-App): Minimalist workout tracker
- [` App Store`](https://apps.apple.com/app/gym-routine-tracker/id6444747204) <a href='https://raw.githubusercontent.com/gym-routine-tracker/gym-routine-tracker.github.io/gh-pages/assets/images/exercise-run-display.png'>`Screenshot 1`</a>
- `2023` `swift` `swiftui`
- ☆`53`
- [HN Reader](https://github.com/Dimillian/SwiftHN): Hacker News Reader
- [` App Store`](https://apps.apple.com/app/hn-reader-hacker-news-reader/id919243741) <a href='https://cdn-images-1.medium.com/v2/resize:fit:800/1*6Bey3OUZ2Xhuk-ZXCB-gOg.png'>`Screenshot 1`</a>
- `2020` `swift`
- ☆`1819`
- [KHabit](https://github.com/elkiwy/KHabit): Maintain productive habits
- [` App Store`](https://apps.apple.com/app/khabit/id1533656718) <a href='https://raw.githubusercontent.com/elkiwy/KHabit/master/Screenshots/KHabit_1.png'>`Screenshot 1`</a> <a href='https://raw.githubusercontent.com/elkiwy/KHabit/master/Screenshots/KHabit_2.png'>`Screenshot 2`</a> <a href='https://raw.githubusercontent.com/elkiwy/KHabit/master/Screenshots/KHabit_3.png'>`Screenshot 3`</a>
- `2023` `swift` `swiftui`
- ☆`63`
- [Word Of The Day](https://github.com/kyledold/WordOfTheDay): Includes a widget and watch app
- [` App Store`](https://apps.apple.com/gb/app/word-of-the-day-english/id1551946328) <a href='https://github.com/kyledold/WordOfTheDay/blob/master/Images/preview_large.png'>`Screenshot 1`</a> <a href='https://github.com/kyledold/WordOfTheDay/blob/master/Images/preview_medium.png'>`Screenshot 2`</a> <a href='https://github.com/kyledold/WordOfTheDay/blob/master/Images/preview_watchOS.png'>`Screenshot 3`</a>
- `2024` `watchos` `swiftui` `alamofire`
- ☆`91`
## Browser
[back to top](#readme)
- [Firefox](https://github.com/mozilla-mobile/firefox-ios): Official Firefox app
- [` App Store`](https://apps.apple.com/app/firefox-web-browser/id989804926) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/47/b7/1b/47b71b74-5bb4-9c4d-4826-18f89324af9d/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/ba/24/97/ba249744-0dda-90a9-4406-2d30720e59a4/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/93/d1/d4/93d1d4d1-5cde-f1d7-4e68-1fe824bcdc13/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/89/17/58/89175888-9e1e-3fcf-ce42-9dd347327298/pr_source.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/9f/36/dc/9f36dc54-b99b-fd5c-0076-0cdb1d4bc53e/pr_source.png/460x0w.jpg'>`Screenshot 5`</a>
- `2026` `swift` `carthage` `alamofire` `snapkit` `libphonenumber`
- ☆`12838`
- [Onion Browser](https://github.com/OnionBrowser/OnionBrowser): A Tor-powered web browser that improves your privacy
- <a href=https://onionbrowser.com>`https://onionbrowser.com`</a>
- [` App Store`](https://apps.apple.com/app/id519296448) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/df/3b/f7/df3bf7dd-a0ec-08f8-1851-8d753207f069/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/9e/b8/ab/9eb8abc1-cf22-9866-9521-88cb7772efa9/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple123/v4/02/2b/e0/022be068-3552-7b25-2bb5-675c7e878e5a/pr_source.png/460x0w.jpg'>`Screenshot 3`</a>
- `2026` `objc` `tor`
- ☆`2530`
- [SnowHaze](https://github.com/snowhaze/SnowHaze-iOS): Powerful private browser developed to protect your data
- [` App Store`](https://apps.apple.com/app/snowhaze/id1121026941) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple118/v4/a0/fc/6f/a0fc6f11-2a83-7f80-f9f6-3caf7d73e1b0/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple118/v4/02/65/bf/0265bffc-4b48-f52c-a698-c50ddbe22d53/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple118/v4/a2/a4/a2/a2a4a22f-0f48-3c86-c672-482e190ef21f/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple118/v4/fc/79/2f/fc792faf-eef5-8ee6-78bb-2aa396c7dbf4/pr_source.png/628x0w.jpg'>`Screenshot 4`</a>
- `2022` `swift`
- ☆`176`
## Calculator
[back to top](#readme)
- [HexaCalc](https://github.com/AnthonyH93/HexaCalc): Programmer's calculator
- [` App Store`](https://apps.apple.com/app/hexacalc/id1529225315) <a href='https://github.com/AnthonyH93/HexaCalc/raw/master/DeviceScreenshots/1.6.0/GreenPositiveHex.png?raw=true'>`Screenshot 1`</a> <a href='https://github.com/AnthonyH93/HexaCalc/raw/master/DeviceScreenshots/1.6.0/GreenPositiveBin.png?raw=true'>`Screenshot 2`</a> <a href='https://github.com/AnthonyH93/HexaCalc/raw/master/DeviceScreenshots/1.6.0/GreenPositiveDec.png?raw=true'>`Screenshot 3`</a> <a href='https://github.com/AnthonyH93/HexaCalc/raw/master/DeviceScreenshots/1.6.0/DefaultSettings.png?raw=true'>`Screenshot 4`</a>
- `2026` `swift` `core-data`
- ☆`55`
- [SIP Calculator](https://github.com/tirupati17/sip-calculator-swift): Calculate the future value of SIP (Systematic Investment Plan) payments
- [` App Store`](https://apps.apple.com/app/id1092822415) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple69/v4/3c/33/53/3c335302-9f13-5771-52df-150de85ab20e/pr_source.png/460x0w.jpg'>`Screenshot 1`</a>
- `2023` `swift`
- ☆`37`
- [Splito!](https://github.com/almormd/Splito): Billing and tips calculator
- [` App Store`](https://apps.apple.com/app/splito/id1602086746) <a href='https://user-images.githubusercontent.com/85921199/147791061-392897f8-2b68-4be8-9194-db35dd5d04d9.png'>`Screenshot 1`</a>
- `2021` `swift`
- ☆`13`
## Calendar
[back to top](#readme)
- [Clendar](https://github.com/vinhnx/Clendar): Minimal calendar & widgets
- [` App Store`](https://apps.apple.com/app/clendar-a-calendar-app/id1548102041) <a href='https://user-images.githubusercontent.com/4723115/211681182-b43b1c2d-b754-4408-ae44-c94fbd83370c.png'>`Screenshot 1`</a>
- `2026` `swift` `swiftui` `iphone` `ipad`
- ☆`701`
## Color
[back to top](#readme)
## Clock
[back to top](#readme)
- [Off-Day](https://github.com/zizicici/Off-Day): Holiday alarm clock
- [` App Store`](https://apps.apple.com/app/off-day/id6501973975) <a href='https://i.v2ex.co/0SL75bVd.png'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`328`
## Clone
[back to top](#readme)
## Communication
[back to top](#readme)
- [afone](https://github.com/automat-berlin/afone/): Reference implementation for SIP Telephony that can be used on different SIP stacks with no effort
- [` App Store`](https://apps.apple.com/app/afone/id1470424336) <a href='https://raw.githubusercontent.com/automat-berlin/afone/master/Documentation/Screenshots/login.png'>`Screenshot 1`</a> <a href='https://raw.githubusercontent.com/automat-berlin/afone/master/Documentation/Screenshots/login_advanced.png'>`Screenshot 2`</a> <a href='https://raw.githubusercontent.com/automat-berlin/afone/master/Documentation/Screenshots/dialer.png'>`Screenshot 3`</a> <a href='https://raw.githubusercontent.com/automat-berlin/afone/master/Documentation/Screenshots/call.png'>`Screenshot 4`</a> <a href='https://raw.githubusercontent.com/automat-berlin/afone/master/Documentation/Screenshots/settings.png'>`Screenshot 5`</a>
- `swift`
- [ChatSecure](https://github.com/ChatSecure/ChatSecure-iOS): Send messages with OTR encryption
- [` App Store`](https://apps.apple.com/app/chatsecure-encrypted-messenger/id464200063) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/c8/50/45/c85045d1-e4c3-b45c-b807-88895baabea7/mzl.ifcxuteh.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/b2/76/4a/b2764a43-7234-d208-f390-2d7efd07b13d/mzl.efigjugg.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple113/v4/b6/f1/8d/b6f18d6a-c361-bfda-9992-6bb0ddc7d9e3/mzl.yplvxiqv.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/49/af/7a/49af7a2a-6ed2-9f47-5511-92c8734a9c77/mzl.bdnewqrd.png/460x0w.jpg'>`Screenshot 4`</a>
- `2024` `objc` `xmpp`
- ☆`3149`
- [Chatwoot](https://github.com/chatwoot/chatwoot-mobile-app): Live chat for businesses
- [` App Store`](https://apps.apple.com/app/id1495796682) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/ca04127b-5c28-419f-95cf-3b1d4816ad07'>`Screenshot 1`</a>
- `2026` `react-native`
- ☆`846`
- [Colloquy](https://github.com/colloquy/colloquy): IRC client
- [` App Store`](https://apps.apple.com/app/colloquy-irc-client/id302000478) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/02/ed/a1/02eda19d-a1eb-f607-daed-67cc275db963/mzl.ymupketw.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple128/v4/95/e8/a4/95e8a416-ab17-b309-c5f3-db16c8ebd434/mzl.dquclsly.png/626x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple118/v4/49/39/11/49391171-cf81-3db8-571b-6fae63bf1163/mzl.vmvxxfwh.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple128/v4/4c/f6/16/4cf61698-128c-eb16-9d7d-a5d7d04599f4/mzl.bludqoil.png/460x0w.jpg'>`Screenshot 4`</a>
- `2021` `objc`
- ☆`257`
- [deltachat](https://github.com/deltachat/deltachat-ios): Email-based instant messaging
- [` App Store`](https://apps.apple.com/app/delta-chat/id1459523234) <a href='https://github.com/deltachat/deltachat-ios/blob/master/docs/images/screenshot_chat_list.png?raw=true'>`Screenshot 1`</a> <a href='https://github.com/deltachat/deltachat-ios/blob/master/docs/images/screenshot_chat_view.png?raw=true'>`Screenshot 2`</a>
- `2026` `swift` `ipad`
- ☆`413`
- [Element](https://github.com/element-hq/element-ios): Secure decentralised chat/VoIP
- <a href=https://element.io>`https://element.io`</a>
- [` App Store`](https://apps.apple.com/app/element/id1083446067) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/d61605e1-7fee-440d-be53-b96b9af0d03c'>`Screenshot 1`</a>
- `2026` `swift` `objc` `webrtc` `ipad` `cmark`
- ☆`1812`
- [Element X](https://github.com/element-hq/element-x-ios): Secure decentralised chat/VoIP, newer version of Element
- <a href=https://element.io>`https://element.io`</a>
- [` App Store`](https://apps.apple.com/app/element-x-secure-chat-call/id1631335820) <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/0c/5a/ff/0c5affe2-b3f0-e83e-a095-1aa4a34ac2a3/d0306b7e-aa04-4ef2-b56b-d4a097ef1677_12.9-inch-6th-gen-1.png/626x0w.webp'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/93/80/33/93803343-c529-20f5-cf80-ffbd7cb937b3/106a3d55-876d-4fb4-a37b-2d82cd9a6340_12.9-inch-6th-gen-2.png/626x0w.webp'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/2c/36/2b/2c362b4d-5cf0-3eb5-6756-5185fa747439/5a643efe-d553-43df-bd67-2daee496b467_12.9-inch-6th-gen-3.png/626x0w.webp'>`Screenshot 3`</a>
- `2026` `swift` `iphone` `ipad` `matrix` `rust`
- ☆`749`
- [FluffyChat](https://github.com/krille-chan/fluffychat): Cute matrix messenger, easy to use but secure and decentralized
- [` App Store`](https://apps.apple.com/app/fluffychat/id1551469600) <a href='https://raw.githubusercontent.com/krille-chan/fluffychat-website/refs/heads/main/src/assets/screenshots/mobile.png'>`Screenshot 1`</a>
- `2026` `flutter` `ipad`
- ☆`2385`
- [Goguma IRC](https://codeberg.org/emersion/goguma): Modern IRC experience with support for many IRCv3 extensions and IRC bouncers
- [` App Store`](https://apps.apple.com/app/goguma-irc/id6470394620) <a href='https://fs.emersion.fr/protected/img/goguma/main.png'>`Screenshot 1`</a>
- `2025` `flutter`
- ☆`40`
- [IRCCloud](https://github.com/irccloud/ios): IRC client/service
- [` App Store`](https://apps.apple.com/app/irccloud/id672699103) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/0d/ff/82/0dff82e1-3677-5fb4-7134-2ae21552b635/mzl.exbmpwni.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/70/4b/ae/704bae65-fbd1-f842-860e-90c1cd0ba722/mzl.oifhpoij.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/48/89/a5/4889a5d7-b7f6-7642-2c19-c8a3458e5b7f/mzl.znhavvnj.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple113/v4/42/5b/ac/425baceb-e9f0-cf7f-8aa9-ab203ce8132d/mzl.ocminncy.png/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `objc` `fastlane`
- ☆`290`
- [Jami](https://review.jami.net/admin/repos/ring-client-ios): Decentralised text messaging, video and audio calls, file transfer, video conferencing
- <a href=https://jami.net>`https://jami.net`</a>
- [` App Store`](https://apps.apple.com/app/ring-a-gnu-package/id1306951055) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple123/v4/2e/3f/eb/2e3febb6-8e78-7e2d-ab6d-8fd4b887f72a/mzl.tmqasjxc.png/300x0w.jpg'>`Screenshot 1`</a>
- `swift`
- [Linphone](https://gitlab.linphone.org/BC/public/linphone-iphone): Free audio/video calls and text messaging (be reachable at any time, even if the app is closed, with a WiFi or cellular connection)
- [` App Store`](https://apps.apple.com/app/linphone/id360065638) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple125/v4/48/5f/07/485f073c-1bd4-acdb-127f-0bd5d266d359/mzl.gqlurkmf.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple125/v4/cc/b4/b8/ccb4b8a4-f912-b4a7-d69f-1f9fda24f368/mzl.whsepbnn.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple115/v4/93/7c/fc/937cfca3-14fd-0a4e-0690-ab02d07452ee/mzl.wkqxfgho.jpg/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple125/v4/49/12/40/4912400a-b408-3bf2-cf8a-8ecdefb858c0/pr_source.jpg/460x0w.jpg'>`Screenshot 4`</a>
- `objc`
- [Mattermost](https://github.com/mattermost/mattermost-mobile): Secure messaging platform for DevOps teams
- [` App Store`](https://apps.apple.com/us/app/mattermost/id1257222717) <a href='https://user-images.githubusercontent.com/13119842/82450764-1c9e1b00-9a7b-11ea-83d2-b835bf51c727.png'>`Screenshot 1`</a> <a href='https://user-images.githubusercontent.com/13119842/82450847-38092600-9a7b-11ea-92a8-52cf92fb137b.png'>`Screenshot 2`</a> <a href='https://user-images.githubusercontent.com/13119842/82450869-3e979d80-9a7b-11ea-81ea-0780c7a612f7.png'>`Screenshot 3`</a> <a href='https://user-images.githubusercontent.com/13119842/82450896-47886f00-9a7b-11ea-92f4-da9e5553f469.png'>`Screenshot 4`</a>
- `2026` `react-native`
- ☆`2593`
- [Monal](https://github.com/monal-im/Monal): Connect to your chat server without having to give a third party access to your password or messages
- [` App Store`](https://apps.apple.com/app/monal-free-xmpp-chat/id317711500) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/1d/cb/d3/1dcbd350-2399-537e-e224-c8b31450b836/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/bb/64/c2/bb64c2f9-15c9-efd3-06ab-0864d147cdce/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/1c/7b/a1/1c7ba16a-36fe-762d-31a0-3991fd1e7bcc/pr_source.png/460x0w.jpg'>`Screenshot 3`</a>
- `2026` `objc` `xmpp`
- ☆`627`
- [Mumble](https://github.com/mumble-voip/mumble-iphoneos): Gaming-focused social voice chat utility
- [` App Store`](https://apps.apple.com/app/mumble/id443472808) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple128/v4/71/36/95/7136953f-7ffc-05fa-0df7-78cc7ec4b06b/pr_source.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple128/v4/67/56/94/67569407-e82a-6d28-80e6-c59845726c81/pr_source.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple128/v4/9f/34/7b/9f347b9a-15f9-bd4f-f020-02f633967c9f/pr_source.png/460x0w.png'>`Screenshot 3`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple128/v4/16/e3/cc/16e3cc1a-e13a-d7f1-cf4a-f3a658828d10/pr_source.png/460x0w.png'>`Screenshot 4`</a>
- `2025` `objc` `fmdb`
- ☆`219`
- [ProtonMail](https://github.com/ProtonMail/ios-mail): Encrypted Email
- <a href=https://protonmail.com/>`https://protonmail.com/`</a>
- [` App Store`](https://apps.apple.com/app/id979659905) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/1d/c0/ba/1dc0bacb-bd7e-bfb3-4a14-ab9cdfd6336d/pr_source.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/9c/e3/23/9ce32347-1f99-dfa0-2434-c032e6264eda/pr_source.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/11/33/5c/11335cff-69e3-6a55-3248-ebe2e98c4e87/pr_source.png/460x0w.png'>`Screenshot 3`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple113/v4/bc/08/4b/bc084bb4-d8d1-26aa-606f-03de254a345d/pr_source.png/460x0w.png'>`Screenshot 4`</a>
- `2026` `swift` `iphone` `ipad` `dompurify` `afnetworking` `flanimatedimage`
- ☆`1562`
- [Signal](https://github.com/signalapp/Signal-iOS): Free, world-wide, private messaging & phone calls
- [` App Store`](https://apps.apple.com/app/id874139669) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/57/62/68/576268bf-3474-99e7-2621-adbf2438b3ce/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/b8/d3/7a/b8d37a2b-3ecc-8775-3ce1-534d0adc2904/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/11/82/fc/1182fc57-5a43-4403-1048-47735d0a75f7/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/65/78/39/6578398d-7204-d380-cf59-783acd3fa859/pr_source.png/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `objc` `iphone` `carthage` `socketrocket` `purelayout` `openssl`
- ☆`11861`
- [SimpleX Chat](https://github.com/simplex-chat/simplex-chat): Privacy redefined (no user IDs)
- [` App Store`](https://apps.apple.com/app/simplex-chat-secure-messenger/id1605771084) <a href='https://raw.githubusercontent.com/simplex-chat/.github/master/profile/images/app2.png'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`10478`
- [Swiftgram](https://github.com/Swiftgram/Telegram-iOS): Supercharged Telegram experience. Feature-rich, unlocked and secure fork with 50+ settings.
- [` App Store`](https://apps.apple.com/app/id6471879502) <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/2b/f6/e6/2bf6e6f6-cf6c-7732-a16c-553da0f0ceb2/19196428-c297-4771-b0c9-a977a6271a85_1.png/460x998bb-60.jpg'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/d3/b3/92/d3b392dc-5a28-1b8e-f132-a010b6289de1/8b573941-0a41-40f9-b72c-27d03bafa8c4_2.jpg/460x998bb-60.jpg'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/d1/10/81/d11081df-c27f-7e3f-641e-f20ee4fba2f0/742216e5-1312-4da0-ada5-50f709410a96_5.png/460x998bb-60.jpg'>`Screenshot 3`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/a1/62/88/a16288b8-a49d-f5b6-e39d-eb8033ba2d64/199ca24d-ce35-4b33-b8cd-fca59124556f_4.jpg/460x998bb-60.jpg'>`Screenshot 4`</a>
- `2026` `swift` `c` `objc`
- ☆`443`
- [Telegram](https://github.com/TelegramMessenger/Telegram-iOS): Send messages with a focus on speed & security
- [` App Store`](https://apps.apple.com/app/telegram-messenger/id686449807) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/72/35/fb/7235fb9a-07fd-97f1-31f1-b4810f7cd1ca/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/a2/e3/b4/a2e3b456-fdbc-77e6-d3f4-21e3d5998a79/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/78/8d/f5/788df564-08d5-40fc-b18c-d153de535b35/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/89/cf/cd/89cfcd2f-98dd-cbc0-e730-c7cb1854928c/pr_source.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/8e/6b/23/8e6b239b-28b1-bbe2-f89c-f9e6ea9969b1/pr_source.png/460x0w.jpg'>`Screenshot 5`</a>
- `2026` `swift` `c` `objc`
- ☆`8018`
- [Threema](https://github.com/threema-ch/threema-ios): Secure, Anonymous and Private Messenger
- [` App Store`](https://apps.apple.com/app/id578665578) <a href='https://is2-ssl.mzstatic.com/image/thumb/PurpleSource124/v4/6e/0c/05/6e0c054b-24d1-3796-4006-bd5078511a80/aaea1545-ccaf-42d3-8d9a-d3ef27417fa1_iphon65_4.6-en_us-01-promo.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource124/v4/ee/f1/59/eef15998-8309-3e8b-b047-a8614645e30f/87522c7d-2998-41e2-882e-ea3f636ded44_iphon65_4.6-en_us-02-promo.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/PurpleSource114/v4/2b/7b/87/2b7b8738-4ce9-dddf-24ff-73c9949e530e/ca775975-4ea7-4aa9-bf12-e5e012b53f72_iphon65_4.6-en_us-03-promo.png/460x0w.png'>`Screenshot 3`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/PurpleSource124/v4/6d/98/75/6d98752c-9602-a893-ec7b-03a9f93f9985/69f7a9d4-0416-4d4c-9bad-d3de10d9da31_iphon65_4.6-en_us-04-promo.png/460x0w.png'>`Screenshot 4`</a>
- `2025` `swift` `objc`
- ☆`408`
- [Tinode](https://github.com/tinode/ios): Cross platform messenger
- [` App Store`](https://apps.apple.com/app/tinode/id1483763538) <a href='https://raw.githubusercontent.com/tinode/ios/master/ios-chat.png'>`Screenshot 1`</a>
- `2025` `swift`
- ☆`280`
- [Tutanota](https://github.com/tutao/tutanota): End-to-end encrypted email
- <a href=https://tutanota.com/>`https://tutanota.com/`</a>
- [` App Store`](https://apps.apple.com/app/id922429609) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/9e/10/b6/9e10b656-8e6e-b4b8-bdce-5f787f12d25e/mzl.utcbsrcn.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple113/v4/40/cc/5f/40cc5f60-4d7a-cb19-ddb5-fb9e92de9205/mzl.xpwjvrke.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/a8/c5/a2/a8c5a2de-33fc-1fad-7f5d-3f1579bc3fc3/mzl.xvkhmgab.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/be/32/0a/be320a6b-a860-a359-5c33-38bba742aef1/mzl.vgjqcasc.png/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `javascript` `cordova` `iphone` `ipad`
- ☆`7303`
- [Wire](https://github.com/wireapp/wire-ios): Modern, private communications with crystal clear voice, video, group chats - always encrypted
- [` App Store`](https://apps.apple.com/app/wire/id930944768) <a href='https://cdn-images-1.medium.com/v2/resize:fit:800/1*CEtofzY1rIOKuGT7JO3VkA.png'>`Screenshot 1`</a>
- `2026` `swift` `carthage` `afnetworking` `purelayout`
- ☆`111`
- [Zulip team chat](https://github.com/zulip/zulip-mobile)
- <a href=https://zulip.com>`https://zulip.com`</a>
- [` App Store`](https://apps.apple.com/app/zulip/id1203036395) <a href='https://zulip.com/static/images/app-screenshots/zulip-iphone-rough.png'>`Screenshot 1`</a>
- `2025` `swift` `reactnative`
- ☆`1352`
## Developer
[back to top](#readme)
- [Bark](https://github.com/Finb/Bark): Send custom push notifications by calling an HTTP API
- <a href=https://bark.day.app/>`https://bark.day.app/`</a>
- [` App Store`](https://apps.apple.com/app/bark-custom-notifications/id1403753865) <a href='https://github.com/user-attachments/assets/0425d8ed-0c2a-49ea-92f8-b5062c91e411'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`7605`
- [CI2Go](https://github.com/ngs/ci2go): For https://circleci.com/
- [` App Store`](https://apps.apple.com/app/ci2go-the-circleci-client/id940028427) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple113/v4/8f/a8/7b/8fa87bff-369c-f556-19be-04f9d64aafe5/mzl.cbjemxao.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/32/ba/3e/32ba3e1c-2ca3-9acb-6edb-837d9813d42f/mzl.fnosaifu.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/75/b1/c3/75b1c366-26f2-3468-88cb-a5576b72ee38/mzl.fdapyomc.png/460x0w.jpg'>`Screenshot 3`</a>
- `2022` `swift`
- ☆`92`
- [Enchanted](https://github.com/gluonfield/enchanted): Developer tool for LLMs
- [` App Store`](https://apps.apple.com/app/enchanted-llm/id6474268307) <a href='https://github.com/user-attachments/assets/7dade8ec-e94d-4936-9237-f2f2bc1533f2'>`Screenshot 1`</a>
- `2025` `swift`
- ☆`5804`
- [Evolution](https://github.com/Evolution-App/iOS): An unofficial app for Swift Evolution
- [` App Store`](https://apps.apple.com/app/evolution-app/id1210898168) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple128/v4/1d/91/90/1d919067-8c46-3f04-f710-ecfed6494539/pr_source.png/900x0w.png'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple128/v4/ee/84/cc/ee84cc99-5ff3-5c1c-4408-60c8f24f754d/pr_source.png/900x0w.png'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple128/v4/28/86/e9/2886e929-b5a9-09ed-47e7-0ed45806f463/pr_source.png/900x0w.png'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple128/v4/7a/2a/68/7a2a68f4-5575-5d70-be87-d4df54ebb12f/pr_source.png/900x0w.png'>`Screenshot 4`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/e6/ed/ec/e6edecdb-78ce-6cfe-4fde-470c7cee306a/pr_source.png/900x0w.png'>`Screenshot 5`</a>
- `2024` `swift` `swift-evolution`
- ☆`266`
- [Expo Client](https://github.com/expo/expo): Developer tool for creating experiences with interactive gestures & graphics
- <a href=https://expo.io/>`https://expo.io/`</a>
- [` App Store`](https://apps.apple.com/app/expo-client/id982107779) <a href='https://a4.mzstatic.com/us/r30/Purple111/v4/42/1e/6e/421e6e4d-2524-5e1a-93aa-b8159d48a8fa/screen696x696.jpeg'>`Screenshot 1`</a>
- `2026` `react-native` `javascript`
- ☆`47397`
- [Haptic Haven](https://github.com/davejacobsen/HapticHaven): Test, learn about, and implement haptic feedback
- [` App Store`](https://apps.apple.com/us/app/id1523772947) <a href='https://raw.githubusercontent.com/davejacobsen/HapticHaven/master/Screenshots/Screenshots.png'>`Screenshot 1`</a>
- `2024` `swift`
- ☆`43`
- [HTTP/S Response Code Lookup](https://github.com/Person2099/HTTPS-Responses): Quick and easy way to lookup HTTP response codes
- <a href=https://httpsresponselookup.onuniverse.com>`https://httpsresponselookup.onuniverse.com`</a>
- [` App Store`](https://apps.apple.com/app/id1580906147) <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/a6/75/0d/a6750dee-7361-ca1f-34bc-804b2b0d79e4/56caf957-c128-4b7a-8458-106a0de6fdaa_Simulator_Screen_Shot_-_iPhone_12_Pro_Max_-_2021-09-06_at_19.29.40.png/460x0w.webp'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource115/v4/e7/9e/c6/e79ec63c-db19-2029-165d-ce6fc55500d1/c30f507f-54df-4fe8-bc7f-44c86a61a72c_Simulator_Screen_Shot_-_iPhone_12_Pro_Max_-_2021-09-06_at_19.39.33.png/460x0w.webp'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/81/01/ea/8101ea88-c459-e2b2-e18f-03eb42ccd5ff/5324ca34-a122-46fa-a618-1bb03d6afe7d_Simulator_Screen_Shot_-_iPhone_12_Pro_Max_-_2021-09-06_at_19.39.48.png/460x0w.webp'>`Screenshot 3`</a>
- `2023` `swift` `swiftui`
- ☆`15`
- [iSH](https://github.com/ish-app/ish): Linux shell
- <a href=https://ish.app>`https://ish.app`</a>
- [` App Store`](https://apps.apple.com/app/ish-shell/id1436902243) <a href='https://raw.githubusercontent.com/PseudonymPatel/images/master/E0617EC4-E004-4DD0-B642-52BA4A189468.jpeg'>`Screenshot 1`</a> <a href='https://raw.githubusercontent.com/PseudonymPatel/images/master/13DA476F-FF82-45F9-8820-710D34711ADC.jpeg'>`Screenshot 2`</a>
- `2026` `c` `obj-c`
- ☆`19313`
- [iVim](https://github.com/terrychou/iVim): A vim port
- [` App Store`](https://apps.apple.com/app/ivim/id1266544660) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple118/v4/6c/f0/84/6cf08431-01bb-aacb-27f2-bcc769a8511e/pr_source.png/230x0w.jpg'>`Screenshot 1`</a>
- `2020` `c` `vim-script`
- ☆`631`
- [Knil](https://github.com/ethanhuang13/knil): Universal Links testing made easy
- [` App Store`](https://apps.apple.com/app/knil-universal-link-testing/id1195310358) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/038718b7-d829-4e60-9f81-f86d2b926eec'>`Screenshot 1`</a>
- `2019`
- ☆`766`
- [Ladybug](https://github.com/ethanhuang13/ladybug): Handle rdar:// links gracefully
- [` App Store`](https://apps.apple.com/app/ladybug-handles-radar-links/id1402968134) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple125/v4/4a/b6/98/4ab6985f-3ac7-21cd-76d3-8479091bad07/pr_source.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple115/v4/c2/c3/14/c2c31427-d01d-dccd-5c16-4d7334377d7a/pr_source.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple115/v4/41/f3/c9/41f3c908-bd31-1297-cf88-15b66d28ce4e/pr_source.png/460x0w.png'>`Screenshot 3`</a>
- `2019` `swift`
- ☆`162`
- [Matomo](https://github.com/matomo-org/matomo-mobile-2): Access analytics on the go (formerly Piwik)
- [` App Store`](https://apps.apple.com/app/id737216887) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple118/v4/74/06/aa/7406aaa2-1913-c66a-3896-b1bcc6f48f23/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple118/v4/15/71/51/1571512a-a119-11e5-e5c5-7ddc15528ec9/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple128/v4/1b/5f/7e/1b5f7e20-5478-6d36-a8e9-6353a37d94e9/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/a0/0b/99/a00b99a7-cb8c-2e54-802b-e828743e22bb/pr_source.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple128/v4/85/3b/b4/853bb4b2-3317-17b1-5ed5-7a12a5be6ca6/pr_source.png/460x0w.jpg'>`Screenshot 5`</a>
- `2025` `objc`
- ☆`110`
- [OCaml: Learn & Code](https://github.com/NathanFallet/OCaml): OCaml editor with a growing learn section
- [` App Store`](https://apps.apple.com/app/ocaml-learn-code/id1547506826) <a href='https://is4-ssl.mzstatic.com/image/thumb/PurpleSource124/v4/18/27/a5/1827a5ca-d493-968e-520c-a1da52c14053/aac6dd60-c3ba-48e7-b763-d065b3d6cccb_MAX-EN-1@3x.png/600x0w.png'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource114/v4/7d/fc/cc/7dfccced-4658-54c8-c20b-d447e6caec06/13ec0f62-b0cf-427e-8c25-9c282432ddf7_MAX-EN-2@3x.png/600x0w.png'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/PurpleSource114/v4/b2/d7/02/b2d7025c-a38b-47bd-96b9-3dbc6eae2979/2201b288-e06a-469f-bdcc-5d511e254716_MAX-EN-3@3x.png/600x0w.png'>`Screenshot 3`</a>
- `2025` `swift` `ipad`
- ☆`86`
- [SymbolGrid for SF Symbols](https://github.com/dl-alexandre/SymbolGrid)
- [` App Store`](https://apps.apple.com/app/symbolgrid/id1640916135)
- `2025` `swift` `macos` `visionos`
- ☆`6`
- [TLS Inspector](https://github.com/tls-inspector/tls-inspector): Verify the secure connection information of any website and ensure that your information is private
- [` App Store`](https://apps.apple.com/app/apple-store/id1100539810) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple118/v4/eb/03/2e/eb032e7d-9b04-0cea-89af-41478761d5b0/pr_source.png/316x0w.jpg'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple62/v4/de/e0/70/dee07035-182f-b5e1-9e48-38c5660dd760/pr_source.png/316x0w.jpg'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple118/v4/fe/8d/03/fe8d03fd-bdc7-dca5-ddd1-57de854e716e/pr_source.png/316x0w.jpg'>`Screenshot 3`</a>
- `2026` `c` `objc` `c++`
- ☆`186`
### GitHub
[back to top](#readme)
- [Contribution Graphs for GitHub](https://github.com/AnderGoig/github-contributions-ios): Check your GitHub contributions using Home Screen Widgets
- [` App Store`](https://apps.apple.com/app/id1537192731) <a href='https://raw.githubusercontent.com/AnderGoig/github-contributions-ios/develop/.assets/app-screenshot-1.jpg'>`Screenshot 1`</a>
- `2025` `swift`
- ☆`372`
- [Contributions for GitHub](https://github.com/JustinFincher/GitHubContributionsiOS): Look at your contributions graph in a Today Extension
- [` App Store`](https://apps.apple.com/app/contributions-for-github/id1153432612) <a href='https://github.com/JustinFincher/GitHubContributionsiOS/raw/master/Sketch/GitHub-Contributions.jpg'>`Screenshot 1`</a>
- `2024` `objc`
- ☆`538`
- [GistHub](https://github.com/ldakhoa/GistHub): GitHub Gist Management, Comment, In-app Editor
- [` App Store`](https://apps.apple.com/app/gisthub/id1660465260) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/89053471-20aa-4ab7-ab5a-ecf34c372093'>`Screenshot 1`</a>
- `2024` `swift` `swiftui` `asyncswift`
- ☆`152`
- [GitTime](https://github.com/87kangsw/GitTime): Show your GitHub contributions and activities
- [` App Store`](https://apps.apple.com/app/id1469013856) <a href='https://raw.githubusercontent.com/87kangsw/resume/master/images/gittime.png'>`Screenshot 1`</a>
- `2025` `swift, reactorkit, rxswift` `moya`
- ☆`76`
- [GitTrends](https://github.com/TheCodeTraveler/GitTrends): Track Repo Clones and Views
- [` App Store`](https://apps.apple.com/app/gittrends-github-insights/id1500300399) <a href='https://user-images.githubusercontent.com/13558917/81881433-02c57b00-9545-11ea-920c-27b5b54f19c1.gif'>`Screenshot 1`</a>
- `2026` `csharp`
- ☆`775`
- [Pocket Trailer](https://github.com/ptsochantaris/trailer): Manage pull requests & issues for GitHub / GitHub Enterprise
- [` App Store`](https://apps.apple.com/app/id806104975) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/32/f6/58/32f65859-14bd-86e7-a121-b06025e02029/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/3a/41/de/3a41de8e-d316-fbb9-f15e-ddf5fb4e0763/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/9b/1b/2e/9b1b2ebc-03ee-7628-0a81-545af421f519/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/8b/e0/8f/8be08fc6-ea85-7325-e2a0-91e90b84b9a1/pr_source.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/a8/f6/09/a8f6095a-2999-95f7-46c5-a09dd89588b3/pr_source.png/460x0w.jpg'>`Screenshot 5`</a>
- `2025` `swift`
- ☆`1203`
- [ZLGithubClient](https://github.com/ExistOrLive/GithubClient): Browse GitHub using its REST V3 / GraphQL V4 API
- [` App Store`](https://apps.apple.com/app/gorillas/id1498787032) <a href='https://user-images.githubusercontent.com/4723115/147950657-336bb67e-bdd3-4320-a8cf-a1963e2a9f7b.JPG'>`Screenshot 1`</a>
- `2025` `swift`
- ☆`135`
### Terminal
[back to top](#readme)
- [a-shell](https://github.com/holzschu/a-shell): Mobile shell terminal based on Mosh
- [` App Store`](https://apps.apple.com/app/a-shell/id1473805438) <a href='https://holzschu.github.io/a-Shell_iOS/assets/screenshot/nslookup.png'>`Screenshot 1`</a>
- `2026` `vim script` `c++` `c`
- ☆`3564`
- [Blink](https://github.com/blinksh/blink): Mobile shell terminal based on Mosh
- [` App Store`](https://apps.apple.com/app/blink-shell-build-code/id1594898306) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/e1/44/bf/e144bfb0-5397-6e9f-7e94-e7303af10e93/pr_source.png/626x0w.jpg'>`Screenshot 1`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple123/v4/b8/a3/3f/b8a33f92-cf60-03ec-a8c2-ff3cdc222f80/pr_source.png/626x0w.jpg'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/ff/f2/76/fff276ed-0b17-ad45-deee-6fa4be6d3024/pr_source.png/626x0w.jpg'>`Screenshot 3`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/95/f5/ec/95f5ec0b-8675-a452-de97-7d6f43a4e9ca/pr_source.png/626x0w.jpg'>`Screenshot 4`</a>
- `2026` `objc` `uickeychainstore` `passcodelock`
- ☆`6593`
- [LibTerm](https://github.com/ColdGrub1384/LibTerm): Terminal with Python 3.7 and Lua 5.3, supports iOS 13 dark mode and multi window
- [` App Store`](https://apps.apple.com/app/libterm/id1380911705) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/ea79adef-7060-4696-998b-fd147b103083'>`Screenshot 1`</a>
- `2024` `swift` `ipad`
- ☆`674`
## Education
[back to top](#readme)
- [Berkeley Mobile](https://github.com/asuc-octo/berkeley-mobile-ios): UC Berkeley companion (track buses, find library hours, see dining menus, and access campus resources)
- [` App Store`](https://apps.apple.com/app/berkeley-mobile/id912243518) <a href='https://raw.githubusercontent.com/asuc-octo/berkeley-mobile-ios/refs/heads/master/app_preview_images/screen1.png'>`Screenshot 1`</a> <a href='https://raw.githubusercontent.com/asuc-octo/berkeley-mobile-ios/refs/heads/master/app_preview_images/screen2.png'>`Screenshot 2`</a> <a href='https://raw.githubusercontent.com/asuc-octo/berkeley-mobile-ios/refs/heads/master/app_preview_images/screen3.png'>`Screenshot 3`</a> <a href='https://raw.githubusercontent.com/asuc-octo/berkeley-mobile-ios/refs/heads/master/app_preview_images/screen4.png'>`Screenshot 4`</a>
- `2025` `swift`
- ☆`21`
- [Conjugar](https://github.com/vermont42/Conjugar): Learn and Practice All the Spanish Verb Tenses
- [` App Store`](https://apps.apple.com/app/conjugar/id1236500467) <a href='https://github.com/vermont42/Conjugar/blob/master/Conjugar/browse.png?raw=true'>`Screenshot 1`</a> <a href='https://github.com/vermont42/Conjugar/blob/master/Conjugar/verb.png?raw=true'>`Screenshot 2`</a> <a href='https://github.com/vermont42/Conjugar/blob/master/Conjugar/quiz.png?raw=true'>`Screenshot 3`</a> <a href='https://github.com/vermont42/Conjugar/blob/master/Conjugar/browseInfo.png?raw=true'>`Screenshot 4`</a> <a href='https://github.com/vermont42/Conjugar/blob/master/Conjugar/info.png?raw=true'>`Screenshot 5`</a>
- `2026` `swift`
- ☆`48`
- [DeTeXt](https://github.com/venkatasg/DeTeXt): Find LaTeX symbols by drawing or searching
- [` App Store`](https://apps.apple.com/app/id1531906207) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/a175e471-523d-4137-add4-c02ef6fa0dff'>`Screenshot 1`</a>
- `2025` `swift`
- ☆`170`
- [Echo](https://github.com/fulldecent/echo): Best way to practice speaking English or Spanish
- [` App Store`](https://apps.apple.com/app/echo-speech-therapy/id558585608) <a href='https://learnwithecho.com/assets/images/ss1.png'>`Screenshot 1`</a>
- `swift`
- [Fingerspelling](https://github.com/OpenASL/Fingerspelling-iOS): Practice American Sign Language (ASL) fingerspelling
- [` App Store`](https://apps.apple.com/app/asl-fingerspelling-practice/id1503242863) <a href='https://raw.githubusercontent.com/sloria/Fingerspelling-iOS/master/media/screenshot.png'>`Screenshot 1`</a>
- `2022` `swift` `swiftui` `combine`
- ☆`25`
- [Flippy Learn](https://github.com/misteu/VocabularyTraining): Simple flash cards (privacy first, no tracking, everything stays on your device)
- [` App Store`](https://apps.apple.com/app/flippy-learn-word-flashcards/id1479486387) <a href='https://github.com/misteu/VocabularyTraining/raw/master/screenshots/flippy1.png'>`Screenshot 1`</a> <a href='https://github.com/misteu/VocabularyTraining/raw/master/screenshots/flippy7.png'>`Screenshot 2`</a>
- `2025` `swift`
- ☆`28`
- [GradeCalc - GPA Calculator](https://github.com/marlon360/grade-calc): Keep track of your GPA
- [` App Store`](https://apps.apple.com/app/gradecalc-gpa-calculator/id1502912052) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/61/9f/db/619fdbda-62aa-375b-0439-ae7b4d78e772/pr_source.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/9b/8e/39/9b8e3998-3d53-0879-8862-416b6e29dea1/pr_source.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/42/36/b3/4236b384-f641-3934-6272-a7fb3c61463c/pr_source.png/460x0w.png'>`Screenshot 3`</a>
- `2022` `swift`
- ☆`47`
- [Pocket Code](https://github.com/catrobat/catty): Create games, animations, interactive music videos, and many kind of other apps, directly on device
- <a href=https://catrobat.org/>`https://catrobat.org/`</a>
- [` App Store`](https://apps.apple.com/app/pocket-code/id1117935892)
- `2026` `swift` `objc`
- ☆`99`
- [Prayer in English](https://github.com/FlineDev/Prayer): Help understand the spoken text in Islamic prayers
- [` App Store`](https://apps.apple.com/app/prayer-in-english/id1217136884) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple111/v4/2c/50/95/2c5095ff-6142-37cb-97db-a6421590bf02/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple122/v4/9c/45/8b/9c458b9b-d316-27ec-51ab-6f530b78f2d0/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple122/v4/0f/2c/22/0f2c227e-f348-1f32-5fa6-e2771c8f7b6d/pr_source.png/460x0w.jpg'>`Screenshot 3`</a>
- `2025` `swift`
- ☆`35`
- [Recap AI](https://github.com/Visual-Studio-Coder/Recap): Transform your notes, videos, or URLs into personalized quizzes to reinforce learning
- [` App Store`](https://apps.apple.com/app/recap-ai/id6602897472) <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/c4/cd/b0/c4cdb03a-23ac-78f0-acaa-a1f30f0bb38d/8d0520ac-e756-4cf0-ab72-7079b1acb6f3_iPhone_14__U0026_15_Pro_Max_-_2.png/460x0w.webp'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/d3/87/bb/d387bb71-0312-a1d3-c53b-07417d697e60/e5410608-e331-44f5-8019-605261f589f8_iPhone_14__U0026_15_Pro_Max_-_3.png/460x0w.webp'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/59/d4/20/59d420e4-507a-93db-9428-fa8590003cae/ec202bf0-e05b-404b-9fd3-df90523bdbdd_iPhone_14__U0026_15_Pro_Max_-_6.png/460x0w.webp'>`Screenshot 3`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/e9/12/20/e91220a5-631d-2e9d-9b66-882f773ee889/3f989e8e-bfe0-4eb4-a4ad-82e17105736f_iPhone_14__U0026_15_Pro_Max_-_4.png/460x0w.webp'>`Screenshot 4`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/7f/23/c3/7f23c35c-d48d-5b33-7dd0-db53ee575dab/5ea8d46b-b3a0-4774-b9d5-79723df112c7_iPhone_14__U0026_15_Pro_Max_5.png/460x0w.webp'>`Screenshot 5`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/2c/ed/65/2ced658a-5d97-1f76-d8c2-090e4bf6fb84/83310b67-678e-445a-8699-bbc9a1f21cfc_iPhone_14__U0026_15_Pro_Max_-_1.png/460x0w.webp'>`Screenshot 6`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/de/5c/fb/de5cfb15-b3aa-7df9-859c-38c49db2c134/b1330fae-d1dc-48d6-9ee7-0f88b9e72e3a_iPhone_14__U0026_15_Pro_Max_-_7.png/460x0w.webp'>`Screenshot 7`</a>
- `2025` `productivity` `ai` `gemini` `llm`
- ☆`34`
- [Scribe - Language Keyboards](https://github.com/scribe-org/Scribe-iOS): Keyboards for language learners with translation, verb conjugation and more!
- [` App Store`](https://apps.apple.com/app/scribe-language-keyboards/id1596613886) <a href='https://raw.githubusercontent.com/scribe-org/Scribe-iOS/main/.github/resources/images/scribeAppStoreImages.png'>`Screenshot 1`</a>
- `2026` `swift` `iphone` `ipad` `reference`
- ☆`163`
- [Space!](https://github.com/jtbandes/SpacePOD): iOS 14 widget displaying NASA's Astronomy Picture of the Day
- [` App Store`](https://apps.apple.com/app/id1536864924) <a href='https://user-images.githubusercontent.com/14237/96915139-c171b980-145a-11eb-8ff5-191c6cba9f66.png'>`Screenshot 1`</a> <a href='https://user-images.githubusercontent.com/14237/96915188-cdf61200-145a-11eb-99b8-d5ee109c2b5c.png'>`Screenshot 2`</a> <a href='https://user-images.githubusercontent.com/14237/96915181-ccc4e500-145a-11eb-8627-781621ffc87a.png'>`Screenshot 3`</a> <a href='https://user-images.githubusercontent.com/14237/96915186-cd5d7b80-145a-11eb-9be7-a233ce575081.png'>`Screenshot 4`</a>
- `2025`
- ☆`114`
- [Stepik](https://github.com/StepicOrg/stepik-ios): Take open courses on https://stepik.org/
- [` App Store`](https://apps.apple.com/app/stepik-best-online-courses/id1064581926) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/6bbc0c9b-3c2c-4f2a-b8c6-10805eefd664'>`Screenshot 1`</a>
- `2025` `swift` `ipad` `alamofire` `swiftyjson` `sdwebimage` `devicekit` `promisekit` `swiftlint`
- ☆`168`
## Emulator
[back to top](#readme)
- [CraftOS-PC](https://github.com/MCJack123/craftos2): Modern ComputerCraft emulator
- [` App Store`](https://apps.apple.com/app/craftos-pc/id1565893014) <a href='https://github.com/user-attachments/assets/28474b01-a9c3-4479-8cb5-09db3938fd5a'>`Screenshot 1`</a>
- `2025` `cpp` `java`
- ☆`290`
- [Delta](https://github.com/rileytestut/Delta): Video game emulator for non-jailbroken devices (successor to GBA4iOS)
- [` App Store`](https://apps.apple.com/app/delta-game-emulator/id1048524688) <a href='https://user-images.githubusercontent.com/705880/115471008-203aa480-a1ec-11eb-8aba-237a46799543.png'>`Screenshot 1`</a>
- `2025` `swift`
- ☆`5827`
- [iSH](https://github.com/ish-app/ish): Linux shell
- <a href=https://ish.app>`https://ish.app`</a>
- [` App Store`](https://apps.apple.com/app/ish-shell/id1436902243) <a href='https://raw.githubusercontent.com/PseudonymPatel/images/master/E0617EC4-E004-4DD0-B642-52BA4A189468.jpeg'>`Screenshot 1`</a> <a href='https://raw.githubusercontent.com/PseudonymPatel/images/master/13DA476F-FF82-45F9-8820-710D34711ADC.jpeg'>`Screenshot 2`</a>
- `2026` `c` `obj-c`
- ☆`19313`
- [PPSSPP](https://github.com/hrydgard/ppsspp): PSP emulator
- [` App Store`](https://apps.apple.com/app/ppsspp-psp-emulator/id6496972903)
- `2026` `c++`
- ☆`13374`
- [RetroArch](https://github.com/libretro/RetroArch): Comprehensive emulator frontend with support for NES, SNES, Gameboy, Sega Master System, Genesis, Playstation, N64, Atari Lynx & more
- [` App Store`](https://apps.apple.com/app/retroarch/id6499539433) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/76548a8f-626c-4cc9-93f1-962782a177b1'>`Screenshot 1`</a>
- `2026` `c`
- ☆`12697`
- [SameBoy](https://github.com/LIJI32/SameBoy): Game Boy and Game Boy Color emulator
- [` App Store`](https://apps.apple.com/app/sameboy/id6496971295) <a href='https://github.com/user-attachments/assets/56b1af5b-26ab-4468-a2d5-a885b9d0bf8c'>`Screenshot 1`</a>
- `2026` `c`
- ☆`2013`
## Event
[back to top](#readme)
- [Droidcon Events using Kotlin Multiplatfom](https://github.com/touchlab/DroidconKotlin)
- [` App Store`](https://apps.apple.com/app/droidcon-nyc-2019/id1477469914) <a href='https://user-images.githubusercontent.com/4723115/141655128-e94c9cc9-3e69-427f-b1a6-79b1a8197f60.jpeg'>`Screenshot 1`</a>
- `2026` `kotlin`
- ☆`1134`
- [OpenStack Foundation Summit](https://github.com/OpenStack-mobile/summit-app-ios)
- [` App Store`](https://apps.apple.com/app/openstack-foundation-summit/id1071261846) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple122/v4/7d/ff/a9/7dffa970-0332-eb92-b625-601e1130da99/pr_source.png/460x0w.png'>`Screenshot 1`</a>
- `2019` `swift`
- ☆`36`
## Extension
[back to top](#readme)
- [Chanify](https://github.com/chanify/chanify-ios): Safe and simple notification tool, includes a Notification Service Extension
- <a href=https://www.chanify.net>`https://www.chanify.net`</a>
- [` App Store`](https://apps.apple.com/app/id1531546573) <a href='https://raw.githubusercontent.com/wiki/chanify/chanify/images/preview.png'>`Screenshot 1`</a>
- `2024` `objc`
- ☆`227`
- [HTTPS4All](https://github.com/bouk/HTTPS4All): Port of HTTPS Everywhere to force (most) links to use HTTPS
- [` App Store`](https://apps.apple.com/app/https4all/id1305430042)
- `2020` `swift`
- ☆`40`
- [SimpleLogin](https://github.com/simple-login/Simple-Login-iOS): Protect your email with aliases and more. Its Share Extension helps you create aliases on the fly without leaving your favorite browser
- <a href=https://simplelogin.io/>`https://simplelogin.io/`</a>
- [` App Store`](https://apps.apple.com/app/simplelogin-anti-spam/id1494359858) <a href='https://raw.githubusercontent.com/ntnhon/TarotCodexPublicImages/master/SL/1.png'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`165`
### Content Blocking
[back to top](#readme)
- [Adblock Plus](https://github.com/adblockplus/adblockplussafariios)
- [` App Store`](https://apps.apple.com/app/adblock-plus-abp/id1028871868) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple18/v4/63/2b/11/632b11db-df92-33ba-c29b-7270b3640719/mzm.tllrdtsg.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple6/v4/29/04/d2/2904d25f-f6a9-dbbf-831c-40a147b5212c/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple6/v4/71/4c/32/714c32c6-f775-66ae-a78c-7e2b53f0c864/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple3/v4/61/de/b9/61deb9d6-885c-ae67-3afe-dc0400a9f299/pr_source.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple3/v4/0e/f4/8e/0ef48e26-1547-6765-0b0e-6c1be98c4a2c/pr_source.png/460x0w.jpg'>`Screenshot 5`</a>
- `2020` `objc`
- ☆`149`
- [Adguard](https://github.com/AdguardTeam/AdguardForiOS): Adblocker and anti-tracking
- [` App Store`](https://apps.apple.com/app/adguard-adblock-privacy/id1047223162) <a href='https://user-images.githubusercontent.com/28860202/37027267-e9cf7534-2141-11e8-89fd-3fc99c3f2c86.png'>`Screenshot 1`</a> <a href='https://user-images.githubusercontent.com/28860202/37027271-ec5f5972-2141-11e8-884b-038d73fb68ae.png'>`Screenshot 2`</a>
- `2026` `objc` `javascript`
- ☆`1611`
- [Blahker](https://github.com/ethanhuang13/blahker): Safari content blocker for interstitial ads, mainly for websites in Taiwan
- [` App Store`](https://apps.apple.com/app/blahker-ba-la-ke-gai-ban-guang/id1182699267) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple71/v4/ca/75/fd/ca75fdfe-3952-e440-bca6-3fe9ce0d6d09/pr_source.png/316x0w.png'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple62/v4/f9/23/44/f9234464-ba35-362f-a75f-e79ada4aa93e/pr_source.png/316x0w.png'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple71/v4/c1/04/11/c1041198-8aed-e23c-61fa-04ff8b7b38ae/pr_source.png/316x0w.png'>`Screenshot 3`</a>
- `2024` `swift`
- ☆`133`
- [Hush](https://github.com/oblador/hush): Noiseless browsing
- [` App Store`](https://apps.apple.com/app/id1544743900)
- `2024` `swift` `macos` `ipad`
- ☆`3598`
- [PIA VPN](https://github.com/pia-foss/mobile-ios)
- <a href=https://www.privateinternetaccess.com/download/ios-vpn/>`https://www.privateinternetaccess.com/download/ios-vpn/`</a>
- [` App Store`](https://apps.apple.com/app/id955626407) <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource124/v4/2c/4c/3e/2c4c3ebf-d7bf-2470-c434-32767b574c6f/56ba6ee1-3819-4351-b9c3-46c9e2eb494a_pia_iphone_appstore_1.png/600x0w.png'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/PurpleSource124/v4/de/9c/4b/de9c4b68-6ade-4abd-97ee-e83c575fd4fb/4660eca5-bfa5-4042-aff9-161d475acba7_pia_iphone_appstore_3.png/600x0w.png'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource114/v4/08/d5/ad/08d5adae-7392-2f50-87cd-35302ea0ad1d/bd1e8f0f-6fcc-4cc9-bb5f-08286fc8eab1_pia_iphone_appstore_4.png/600x0w.png'>`Screenshot 3`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/PurpleSource124/v4/2c/9c/c1/2c9cc150-4d85-842f-9ee3-a5cc82ec85c1/4496bbe3-e21f-4e71-b723-90ff31c2ea60_pia_iphone_appstore_5.png/600x0w.png'>`Screenshot 4`</a>
- `2026` `swift`
- ☆`334`
### Safari Extension
[back to top](#readme)
- [Homepage](https://github.com/infinitepower18/Homepage-MobileSafari): Set any website as your homepage when opening a new tab
- [` App Store`](https://apps.apple.com/app/homepage-for-safari/id6481118559) <a href='https://ahnafmahmud.com/apps/Homepage/screenshot-ipad.png'>`Screenshot 1`</a>
- `2025` `swift`
- ☆`62`
- [Overamped](https://github.com/JosephDuffy/Overamped): Safari Web Extension to disable AMP
- [` App Store`](https://apps.apple.com/app/apple-store/id1573901090) <a href='https://user-images.githubusercontent.com/4723115/135640037-320d9de2-b0d9-49d0-ba46-b58ef600907b.png'>`Screenshot 1`</a>
- `2025` `swift`
- ☆`48`
- [PiPifier](https://github.com/arnoappenzeller/PiPifier): Use every HTML5 video in Picture in Picture mode
- [` App Store`](https://apps.apple.com/us/app/pipifier/id1234771095)
- `2021` `swift`
- ☆`795`
### Today
Today Extensions or Widgets — [back to top](#readme)
- [Contributions for GitHub](https://github.com/JustinFincher/GitHubContributionsiOS): Look at your contributions graph in a Today Extension
- [` App Store`](https://apps.apple.com/app/contributions-for-github/id1153432612) <a href='https://github.com/JustinFincher/GitHubContributionsiOS/raw/master/Sketch/GitHub-Contributions.jpg'>`Screenshot 1`</a>
- `2024` `objc`
- ☆`538`
### Widget
Widget (iOS 14) — [back to top](#readme)
- [Clendar](https://github.com/vinhnx/Clendar): Minimal calendar & widgets
- [` App Store`](https://apps.apple.com/app/clendar-a-calendar-app/id1548102041) <a href='https://user-images.githubusercontent.com/4723115/211681182-b43b1c2d-b754-4408-ae44-c94fbd83370c.png'>`Screenshot 1`</a>
- `2026` `swift` `swiftui` `iphone` `ipad`
- ☆`701`
- [Contribution Graphs for GitHub](https://github.com/AnderGoig/github-contributions-ios): Check your GitHub contributions using Home Screen Widgets
- [` App Store`](https://apps.apple.com/app/id1537192731) <a href='https://raw.githubusercontent.com/AnderGoig/github-contributions-ios/develop/.assets/app-screenshot-1.jpg'>`Screenshot 1`</a>
- `2025` `swift`
- ☆`372`
- [Space!](https://github.com/jtbandes/SpacePOD): iOS 14 widget displaying NASA's Astronomy Picture of the Day
- [` App Store`](https://apps.apple.com/app/id1536864924) <a href='https://user-images.githubusercontent.com/14237/96915139-c171b980-145a-11eb-8ff5-191c6cba9f66.png'>`Screenshot 1`</a> <a href='https://user-images.githubusercontent.com/14237/96915188-cdf61200-145a-11eb-99b8-d5ee109c2b5c.png'>`Screenshot 2`</a> <a href='https://user-images.githubusercontent.com/14237/96915181-ccc4e500-145a-11eb-8627-781621ffc87a.png'>`Screenshot 3`</a> <a href='https://user-images.githubusercontent.com/14237/96915186-cd5d7b80-145a-11eb-9be7-a233ce575081.png'>`Screenshot 4`</a>
- `2025`
- ☆`114`
- [Word Of The Day](https://github.com/kyledold/WordOfTheDay): Includes a widget and watch app
- [` App Store`](https://apps.apple.com/gb/app/word-of-the-day-english/id1551946328) <a href='https://github.com/kyledold/WordOfTheDay/blob/master/Images/preview_large.png'>`Screenshot 1`</a> <a href='https://github.com/kyledold/WordOfTheDay/blob/master/Images/preview_medium.png'>`Screenshot 2`</a> <a href='https://github.com/kyledold/WordOfTheDay/blob/master/Images/preview_watchOS.png'>`Screenshot 3`</a>
- `2024` `watchos` `swiftui` `alamofire`
- ☆`91`
- [XKCDY for xkcd](https://github.com/XKCDY/app)
- [` App Store`](https://apps.apple.com/app/xkcdy/id1520259318) <a href='https://user-images.githubusercontent.com/4723115/128615800-e136ba1b-6c14-4aae-ac0e-59fa9b382b4b.png'>`Screenshot 1`</a>
- `2024` `iphone` `ipad`
- ☆`45`
## File
File Management — [back to top](#readme)
- [Airdash](https://github.com/simonbengtsson/airdash): Transfer photos and files to any device, anywhere
- <a href=https://airdash-project.web.app>`https://airdash-project.web.app`</a>
- [` App Store`](https://apps.apple.com/se/app/airdash-file-sharing/id1596599922) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple112/v4/bd/d1/65/bdd16515-3594-0d63-7486-3e3a5635aaf8/bb596084-a356-4916-bdd0-aede1ef119ea_Simulator_Screen_Shot_-_iPhone_13_-_2022-06-20_at_18.48.30.png/460x0w.webp'>`Screenshot 1`</a>
- `2026` `flutter` `webrtc`
- ☆`661`
- [kDrive](https://github.com/Infomaniak/ios-kDrive): Secure cloud to collaborate online, access your documents and files on all your devices
- <a href=https://www.infomaniak.com/kdrive>`https://www.infomaniak.com/kdrive`</a>
- [` App Store`](https://apps.apple.com/app/infomaniak-kdrive/id1482778676) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple115/v4/fd/5e/eb/fd5eeb3a-6bef-a79f-b3f6-f6dacd824b8e/2da2a5e3-f988-4215-931a-58f58c9b9a66_mobile-6.5-1.png/600x0w.png'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple125/v4/8e/a7/72/8ea772cc-81d0-112f-ee4b-c475a92501bc/0c9b7def-a516-4116-92b4-7fa131519ac3_mobile-6.5-2.png/600x0w.png'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple125/v4/c5/ca/17/c5ca17ff-2950-0ec1-ab91-4e02f8d0947f/1391ef65-23e7-44b7-9c64-62bb35d84f80_mobile-6.5-3.png/600x0w.png'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple125/v4/d7/de/85/d7de854f-c3b4-269d-9777-0252d4933666/9eef055e-3d6b-4bf0-9ab4-a0d6d9b9055b_mobile-6.5-4.png/600x0w.png'>`Screenshot 4`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple115/v4/1a/cd/2a/1acd2a04-49eb-94f5-fca3-6fc9c1e4ada5/df89351c-147d-457f-ba48-e6765e6a24c2_mobile-6.5-5.png/600x0w.png'>`Screenshot 5`</a>
- `2026` `swift`
- ☆`73`
- [localsend](https://github.com/localsend/localsend): Cross-platform alternative to AirDrop
- [` App Store`](https://apps.apple.com/app/localsend/id1661733229) <a href='https://localsend.org/img/screenshot-iphone.webp'>`Screenshot 1`</a>
- `2026` `flutter`
- ☆`75269`
- [Nextcloud](https://github.com/nextcloud/ios): A safe home for all your data
- <a href=https://nextcloud.com>`https://nextcloud.com`</a>
- [` App Store`](https://apps.apple.com/app/nextcloud/id1125420102) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple118/v4/f9/87/cb/f987cbdd-1382-b745-1eff-85cf980e673f/pr_source.jpg/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple128/v4/a2/44/89/a2448912-df4f-ac28-a30d-82a9699a9fe4/mzl.bdctkilq.jpg/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/25/ba/7c/25ba7cc2-f9b4-518c-e201-c03bcceffbe1/mzl.fxvipxna.jpg/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple118/v4/8a/dc/14/8adc144f-e5bc-512e-6f1b-5583dd7bb014/mzl.uymqtwli.jpg/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `objc`
- ☆`2354`
- [OnionShare](https://github.com/onionshare/onionshare): Securely and anonymously share files using the Tor network
- [` App Store`](https://apps.apple.com/app/onionshare/id1601890129) <a href='https://github.com/user-attachments/assets/b12897e0-11f9-43eb-a1e6-636db0400a1d'>`Screenshot 1`</a>
- `2025` `ipad` `python` `tor`
- ☆`6888`
- [ownCloud](https://github.com/owncloud/ios-app): File browser & sync for ownCloud file hosting service
- [` App Store`](https://apps.apple.com/app/owncloud/id1359583808) <a href='https://owncloud.com/wp-content/uploads/2019/05/ownCloud-iOS-app-store-parent-file-listing.png'>`Screenshot 1`</a>
- `2026` `swift` `ipad`
- ☆`247`
- [Seafile Pro](https://github.com/haiwen/seafile-iOS): App for Seafile self-hosted file sharing
- <a href=https://www.seafile.com/en/home/>`https://www.seafile.com/en/home/`</a>
- [` App Store`](https://apps.apple.com/app/id639202512) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/ed/9e/11/ed9e1114-3a30-ae5d-5342-db867d9dd93b/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple123/v4/c2/9c/05/c29c05cd-708f-bd7b-95d2-a6c45fdbd907/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/97/06/a2/9706a2bd-d71e-6c9f-8250-354e33c134c4/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/38/da/c3/38dac3d5-8c7f-5a76-4c34-e2825772bc73/pr_source.png/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `objc`
- ☆`238`
## Finance
[back to top](#readme)
- [BetBudd](https://github.com/bigjermaine/SwiftTracker): Keep track of spending on bets and other gambling activities
- [` App Store`](https://apps.apple.com/us/app/betbudd/id1661151432) <a href='https://github.com/bigjermaine/SwiftTracker/assets/113020989/8cd7016f-3dcf-48ff-bde4-272264f486c5'>`Screenshot 1`</a> <a href='https://github.com/bigjermaine/SwiftTracker/assets/113020989/03516bb2-1217-4557-a3d7-37b95e4bda30'>`Screenshot 2`</a>
- `2025` `swift`
- ☆`99`
- [Dime](https://github.com/rafsoh/dimeApp): Beautiful expense tracker built with Apple design guidelines in mind
- [` App Store`](https://apps.apple.com/app/dime-budget-expense-tracker/id1635280255) <a href='https://github.com/rafsoh/dimeApp/blob/main/docs/assets/hero.png?raw=true'>`Screenshot 1`</a>
- `2025` `swift` `swiftui`
- ☆`1633`
- [My Assets](https://github.com/256Arts/My-Assets): Track your money going in and out, with this simple birds-eye-view of your finances
- <a href=https://www.256arts.com/myassets/>`https://www.256arts.com/myassets/`</a>
- [` App Store`](https://apps.apple.com/app/my-assets/id1592367070)
- `2026` `swift` `swiftui`
- ☆`19`
- [SIP Calculator](https://github.com/tirupati17/sip-calculator-swift): Calculate the future value of SIP (Systematic Investment Plan) payments
- [` App Store`](https://apps.apple.com/app/id1092822415) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple69/v4/3c/33/53/3c335302-9f13-5771-52df-150de85ab20e/pr_source.png/460x0w.jpg'>`Screenshot 1`</a>
- `2023` `swift`
- ☆`37`
- [Smart Wallet](https://github.com/novinfard/SmartWallet): Managing money and budget
- <a href=https://novinfard.com>`https://novinfard.com`</a>
- [` App Store`](https://apps.apple.com/app/smart-wallet/id1378013954) <a href='https://novinfard.com/media/gitshots/SmartWallet%20-%20iPhone%20X%20-%201.png'>`Screenshot 1`</a> <a href='https://novinfard.com/media/gitshots/SmartWallet%20-%20iPhone%20X%20-%202.png'>`Screenshot 2`</a> <a href='https://novinfard.com/media/gitshots/SmartWallet%20-%20iPhone%20X%20-%203.png'>`Screenshot 3`</a> <a href='https://novinfard.com/media/gitshots/SmartWallet%20-%20iPhone%20X%20-%204.png'>`Screenshot 4`</a> <a href='https://novinfard.com/media/gitshots/SmartWallet%20-%20iPhone%20X%20-%205.png'>`Screenshot 5`</a>
- `2023` `swift`
- ☆`52`
### Cryptocurrency
[back to top](#readme)
- [AlphaWallet ETH Wallet](https://github.com/AlphaWallet/alpha-wallet-ios): Easy-to-use and secure Ethereum wallet
- <a href=https://alphawallet.com/>`https://alphawallet.com/`</a>
- [` App Store`](https://apps.apple.com/app/alphawallet/id1358230430) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/28/bc/b1/28bcb153-cf24-d26d-86cf-4d8c45e0584d/pr_source.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/97/61/21/97612163-8c96-d1cc-00a1-c913d506a0a9/mzl.ikcervdr.png/230x0w.png'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/61/b3/1e/61b31e3d-e891-6662-5f70-13222f15d4ac/pr_source.png/460x0w.png'>`Screenshot 3`</a>
- `2024` `swift`
- ☆`628`
- [Bread](https://github.com/breadwallet/breadwallet-ios): Bitcoin wallet
- [` App Store`](https://apps.apple.com/app/breadwallet/id885251393) <a href='https://is2.mzstatic.com/image/thumb/Purple118/v4/5d/97/3b/5d973bb2-2e40-428e-bc10-ee4eb11ecc0d/source/392x696bb.jpg'>`Screenshot 1`</a>
- `2022` `swift`
- ☆`639`
- [Exa Wallet Monero](https://github.com/exantech/exa-wallet-ios): Receive, spend and store your Monero with a multisignature wallet
- <a href=https://wallet.exan.tech/>`https://wallet.exan.tech/`</a>
- [` App Store`](https://apps.apple.com/app/exa-wallet-monero/id1457024905) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/7c/61/61/7c6161bf-70b8-95e9-824d-cff92d5960fb/pr_source.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/e1/16/ca/e116ca96-5c51-7cc0-f2aa-72e80447e7b0/pr_source.png/460x0w.png'>`Screenshot 2`</a>
- `2019` `swift`
- ☆`6`
- [Fearless Wallet](https://github.com/soramitsu/fearless-iOS): Supports the Kusama and Polkadot networks
- <a href=https://fearlesswallet.io/>`https://fearlesswallet.io/`</a>
- [` App Store`](https://apps.apple.com/app/fearless-wallet/id1537251089) <a href='https://is5-ssl.mzstatic.com/image/thumb/PurpleSource115/v4/84/7f/c5/847fc57b-0d8e-d2ea-23cd-6b3a144762bd/1279be76-e29b-4dcf-9c72-a795e43bd1ec_2.jpg/600x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/PurpleSource115/v4/4e/02/fc/4e02fcc7-f838-dce7-17ab-f52ec722f067/60a5c7bf-69ce-4b5c-9bcb-311a20acfe5c_3.jpg/600x0w.jpg'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/05/32/38/053238ed-03e1-1818-bef2-89dcdd81a90a/d176b4b0-7a8b-4a86-b4e9-773c02427d44_7.jpg/600x0w.jpg'>`Screenshot 3`</a>
- `2025` `swift`
- ☆`91`
- [Rainbow](https://github.com/rainbow-me/rainbow): Ethereum wallet that lives in your pocket
- <a href=https://rainbow.me>`https://rainbow.me`</a>
- [` App Store`](https://apps.apple.com/app/rainbow-ethereum-wallet/id1457119021) <a href='https://user-images.githubusercontent.com/4723115/139700145-bb518aef-a815-421b-a504-1f2646ed32bc.png'>`Screenshot 1`</a> <a href='https://user-images.githubusercontent.com/4723115/139700159-5ac0f3cc-8ecf-4b56-a020-e5e848d460e3.png'>`Screenshot 2`</a>
- `2026` `reactnative` `typescript`
- ☆`4310`
- [Unstoppable Wallet](https://github.com/horizontalsystems/unstoppable-wallet-ios): A fully decentralized Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash and DASH currency wallet
- [` App Store`](https://apps.apple.com/app/bank-bitcoin-wallet/id1447619907)
- `2026` `swift`
- ☆`853`
## Game
[back to top](#readme)
- [AR MultiPendulum](https://github.com/philipturner/ar-multipendulum): AR headset experience
- [` App Store`](https://apps.apple.com/app/ar-multipendulum/id1583322801) <a href='https://is3-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/0c/37/91/0c3791f3-97cc-6229-0535-d2482c1bbb45/0e4dc155-6721-4be7-91f7-4a6426dfcfe4_Move_Pendulums__U0028iPhone_U002c_full-screen_U0029.png/600x0w.webp'>`Screenshot 1`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/ad/86/cd/ad86cd62-077d-3675-8b31-bddded73ea69/253528ba-4df8-445b-95a7-e182aecffb08_Interact_With_Simulation__U0028iPhone_U002c_full-screen_U0029.png/600x0w.webp'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/ff/88/5d/ff885da7-b568-8c29-cbd9-9f7213c1624f/75815eef-0ecb-4f9d-8379-2e58d7718a44_LiDAR_Comparison__U0028iPhone_U0029.png/600x0w.webp'>`Screenshot 3`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/PurpleSource115/v4/ba/cf/0b/bacf0bb4-47c0-2f82-41f3-5ac658398a8d/8536dad0-5183-45ac-b308-466194fde85a_AR_Headset_Experience__U0028full-screen_U0029.png/600x0w.webp'>`Screenshot 4`</a>
- `2021` `swift` `swiftui` `metal` `arkit` `vision`
- ☆`44`
- [Canabalt](https://github.com/ericjohnson/canabalt-ios): Infinite runner
- [` App Store`](https://apps.apple.com/app/canabalt/id333180061) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple118/v4/78/82/60/7882603c-0d25-3271-d06a-57dc1e530022/mzl.jftzbyvq.png/626x0w.jpg'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/54/77/7c/54777cc6-b75c-0b28-7d85-f65058d25d7b/mzl.zsmgxukm.png/626x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple118/v4/c0/0a/a1/c00aa1ce-5094-844c-c25d-cad116ac87e0/mzl.hiakjhrh.png/626x0w.jpg'>`Screenshot 3`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple128/v4/98/3f/8c/983f8ceb-23d9-c814-df66-7559d660ccb7/mzl.cwuvjojf.png/626x0w.jpg'>`Screenshot 4`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/a4/22/6b/a4226b93-fd23-b8a1-4eb6-713625f9bb25/mzl.tincqlgv.png/626x0w.jpg'>`Screenshot 5`</a>
- `2011` `objc`
- ☆`1587`
- [Domination](https://sourceforge.net/projects/domination/): Clone of the classic board game Risk using MOE https://multi-os-engine.org
- <a href=http://risk.sf.net>`http://risk.sf.net`</a>
- [` App Store`](https://apps.apple.com/app/id1602913079) <a href='https://domination.sourceforge.io/screenshots/ss_tegmap.png'>`Screenshot 1`</a>
- `java`
- [DOOM Classic 2](https://github.com/id-Software/DOOM-IOS2)
- [` App Store`](https://apps.apple.com/app/doom-ii-rpg/id354051766) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple/44/e6/90/mzl.phnmwflb.png/626x0w.png'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple/10/9a/3d/mzl.npolzzhp.png/626x0w.png'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple/d5/81/f5/mzl.upixgdwf.png/626x0w.png'>`Screenshot 3`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple/95/05/2f/mzl.bntcgfqi.png/626x0w.png'>`Screenshot 4`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple/c3/f9/35/mzl.ucjimflu.png/626x0w.png'>`Screenshot 5`</a>
- `2016` `objc`
- ☆`334`
- [Frotz](https://github.com/ifrotz/iosfrotz): Play hundreds of free works of Interactive Fiction (text adventure games)
- <a href=https://github.com/ifrotz/iosfrotz/blob/wiki/FrotzMain.md>`https://github.com/ifrotz/iosfrotz/blob/wiki/FrotzMain.md`</a>
- [` App Store`](https://apps.apple.com/app/id287653015) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple128/v4/bc/44/c4/bc44c4a0-cfa4-77c9-fc27-2da0748cbe77/mzl.vxovhixx.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple128/v4/3c/37/e1/3c37e1c2-82cb-5633-63a7-2e3268b28f19/mzl.tekdjhho.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple128/v4/ec/c8/b9/ecc8b9c9-fed6-518c-1595-094bd89a1ebb/mzl.sxvcmhhb.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple118/v4/cc/ac/ce/ccacce90-af76-33b8-7481-1056b102ebb4/mzl.qrenfxgg.png/460x0w.jpg'>`Screenshot 4`</a>
- `2023` `objc`
- ☆`54`
- [Impostor](https://github.com/fulldecent/impostor): Word game for groups
- [` App Store`](https://apps.apple.com/app/whos-the-impostor/id784258202) <a href='https://github.com/user-attachments/assets/98a0f456-ca55-4667-9cb4-86f88feaf81a'>`Screenshot 1`</a>
- `swift`
- [littlego](https://github.com/herzbube/littlego): Game of Go
- [` App Store`](https://apps.apple.com/app/little-go/id490753989) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple71/v4/af/a9/34/afa934c6-45c5-c194-d179-f34520fe8b1c/mzl.jfnjvioh.png/460x0w.jpg'>`Screenshot 1`</a>
- `2026` `iphone` `ipad`
- ☆`154`
- [Matchimals.fun](https://github.com/igravitystudios/matchimals.fun): Animal matching puzzle card game
- [` App Store`](https://apps.apple.com/app/id1348821168) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/51/43/ef/5143ef6b-cb73-4c3f-32ad-619f15073704/pr_source.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/be/49/b0/be49b0f5-9c45-34d1-a672-7d489b6a11a7/pr_source.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/4a/02/ad/4a02ad71-965b-f094-1381-22054028ada4/pr_source.png/460x0w.png'>`Screenshot 3`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/50/57/c7/5057c7f3-0bfe-41f2-0760-fe1b261e27c3/pr_source.png/460x0w.png'>`Screenshot 4`</a>
- `2026` `react-native` `ipad`
- ☆`191`
- [Mindustry](https://github.com/Anuken/Mindustry): A factory management TD/RTS
- [` App Store`](https://apps.apple.com/app/mindustry/id1385258906) <a href='https://github.com/user-attachments/assets/5bc17e10-8f95-4af4-8c83-c0051d18eb21'>`Screenshot 1`</a>
- `2026` `java`
- ☆`26628`
- [Moonlight Game Streaming](https://github.com/moonlight-stream/moonlight-ios)
- [` App Store`](https://apps.apple.com/app/moonlight-game-streaming/id1000551566) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/a66520cc-5bf8-49e0-bfff-f859de4ad37a'>`Screenshot 1`</a>
- `2025` `c` `ipad`
- ☆`1528`
- [MUDRammer](https://github.com/splinesoft/MUDRammer): For MUD (Multi-User Dungeon)
- [` App Store`](https://apps.apple.com/app/mudrammer-a-modern-mud-client/id597157072) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple5/v4/33/ac/f5/33acf597-adf3-bf10-befe-99e8f25208a9/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple3/v4/f2/a4/c5/f2a4c547-e2bc-0d1d-7830-7f0a776c047a/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple3/v4/44/56/df/4456df32-e876-d053-23c0-cfaf686fc7a9/pr_source.png/460x0w.jpg'>`Screenshot 3`</a>
- `2025` `objc` `iphone` `ipad`
- ☆`86`
- [Neocom for EVE Online](https://github.com/mrdepth/Neocom): EveOnline MMORG character management tool
- [` App Store`](https://apps.apple.com/app/eveuniverse/id418895101) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple62/v4/04/8d/f4/048df460-8415-913d-cea4-9adce71370cf/mzm.lddloznb.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple62/v4/b0/e7/b4/b0e7b405-69c8-560b-72dd-7e779081adc0/mzm.laponjby.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple62/v4/fe/ba/07/feba07fb-c2d7-6bc4-eca7-c1a32c6827f4/mzm.dfjfwhds.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple62/v4/31/21/25/312125a3-e312-f009-115d-8023635314fc/mzm.evrsahoz.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple62/v4/63/91/58/639158b3-23b1-71ca-de67-f3fa8eabf256/mzm.pxsjydzt.png/460x0w.jpg'>`Screenshot 5`</a>
- `2021` `objc`
- ☆`114`
- [Pizza-Man](https://github.com/fulldecent/pizzaman): Play this devilishly difficult diversion
- [` App Store`](https://apps.apple.com/app/pizza-man/id931174800) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/c68b4414-07a0-445f-a3e0-eaa69a32a180'>`Screenshot 1`</a>
- `2025` `swift` `ipad`
- ☆`11`
- [Potato Game](https://github.com/mick-schroeder/PotatoGame): Relaxing physics-based puzzle game where players tilt the board to move emojis and merge matching ones until they create a potato
- <a href=https://potatogame.mickschroeder.com>`https://potatogame.mickschroeder.com`</a>
- [` App Store`](https://apps.apple.com/app/potato-game/id6477922776) <a href='https://raw.githubusercontent.com/mick-schroeder/PotatoGame/main/Screenshots/PotatoGameScreenshot1.png'>`Screenshot 1`</a> <a href='https://raw.githubusercontent.com/mick-schroeder/PotatoGame/main/Screenshots/PotatoGameScreenshot2.png'>`Screenshot 2`</a> <a href='https://raw.githubusercontent.com/mick-schroeder/PotatoGame/main/Screenshots/PotatoGameScreenshot3.png'>`Screenshot 3`</a> <a href='https://raw.githubusercontent.com/mick-schroeder/PotatoGame/main/Screenshots/PotatoGameScreenshot4.png'>`Screenshot 4`</a>
- `2025` `swift`
- ☆`4`
- [SHMUP](https://github.com/fabiensanglard/Shmup): 3D multiplatform game written primarily in C
- <a href=https://fabiensanglard.net/shmup/>`https://fabiensanglard.net/shmup/`</a>
- [` App Store`](https://apps.apple.com/app/shmup/id337663605) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple117/v4/40/3a/21/403a21ac-9841-ab2b-4353-ce1f72a2c753/pr_source.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple127/v4/2b/f4/8f/2bf48f1f-70fd-33d3-3198-c18ee88e2414/pr_source.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple117/v4/c3/97/7e/c3977e1f-48c9-e4b6-5f94-a4a988a53567/pr_source.png/460x0w.png'>`Screenshot 3`</a>
- `2024` `objc`
- ☆`271`
- [Simon Tatham's Portable Puzzle Collection](https://github.com/ghewgill/puzzles): 38 single-player puzzle games
- <a href=https://hewgill.com/puzzles/>`https://hewgill.com/puzzles/`</a>
- [` App Store`](https://apps.apple.com/app/simon-tathams-portable-puzzle/id622220631) <a href='https://hewgill.com/puzzles/screenshot-iphone4-1-200.png'>`Screenshot 1`</a> <a href='https://hewgill.com/puzzles/screenshot-iphone4-2-200.png'>`Screenshot 2`</a> <a href='https://hewgill.com/puzzles/screenshot-iphone4-3-200.png'>`Screenshot 3`</a> <a href='https://hewgill.com/puzzles/screenshot-iphone4-4-200.png'>`Screenshot 4`</a>
- `2024` `objc`
- ☆`198`
- [Wolfenstein 3D](https://github.com/id-Software/Wolf3D-iOS): Wolfenstein 3D
- [` App Store`](https://apps.apple.com/app/wolfenstein-3d-classic-platinum/id309470478) <a href='https://user-images.githubusercontent.com/4723115/146569119-685104a8-b67c-448c-9c3e-6898b5c0ceac.png'>`Screenshot 1`</a>
- `2022` `objc`
- ☆`533`
### Cocos2d
https://cocos2d.org/ — [back to top](#readme)
### SpriteKit
https://developer.apple.com/reference/spritekit — [back to top](#readme)
- [Potato Game](https://github.com/mick-schroeder/PotatoGame): Relaxing physics-based puzzle game where players tilt the board to move emojis and merge matching ones until they create a potato
- <a href=https://potatogame.mickschroeder.com>`https://potatogame.mickschroeder.com`</a>
- [` App Store`](https://apps.apple.com/app/potato-game/id6477922776) <a href='https://raw.githubusercontent.com/mick-schroeder/PotatoGame/main/Screenshots/PotatoGameScreenshot1.png'>`Screenshot 1`</a> <a href='https://raw.githubusercontent.com/mick-schroeder/PotatoGame/main/Screenshots/PotatoGameScreenshot2.png'>`Screenshot 2`</a> <a href='https://raw.githubusercontent.com/mick-schroeder/PotatoGame/main/Screenshots/PotatoGameScreenshot3.png'>`Screenshot 3`</a> <a href='https://raw.githubusercontent.com/mick-schroeder/PotatoGame/main/Screenshots/PotatoGameScreenshot4.png'>`Screenshot 4`</a>
- `2025` `swift`
- ☆`4`
- [Sakura Fly](https://github.com/cl7/Sakura-Fly)
- [` App Store`](https://apps.apple.com/app/sakura-fly/id1019023051) <a href='https://cloud.githubusercontent.com/assets/6619146/13731560/965791fe-e942-11e5-9a11-f66f404fa18c.gif'>`Screenshot 1`</a>
- `2019` `objc`
- ☆`109`
## Health
[back to top](#readme)
- [Depressed](https://github.com/DerLobi/Depressed): Test if you are depressed
- [` App Store`](https://apps.apple.com/app/depressed/id1062594092) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple114/v4/e4/14/90/e414906d-dff4-4f65-05c3-86fcbc65d25d/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple124/v4/48/d3/b0/48d3b059-01d3-be32-eeac-09c65fd4b2f5/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple124/v4/56/f5/83/56f583a3-acdf-f48a-f739-2d3f0a6ef876/pr_source.png/230x0w.jpg'>`Screenshot 3`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple114/v4/3a/c0/7a/3ac07ae6-fecb-c139-6645-532e5c24fa3a/pr_source.png/460x0w.jpg'>`Screenshot 4`</a>
- `2022` `swift`
- ☆`100`
- [Go Cycling Tracker](https://github.com/AnthonyH93/GoCycling)
- [` App Store`](https://apps.apple.com/app/go-cycling/id1565861313) <a href='https://raw.githubusercontent.com/AnthonyH93/GoCycling/main/Screenshots/AppStoreVersion1_2_0/1.png'>`Screenshot 1`</a> <a href='https://raw.githubusercontent.com/AnthonyH93/GoCycling/main/Screenshots/AppStoreVersion1_2_0/3.png'>`Screenshot 2`</a> <a href='https://raw.githubusercontent.com/AnthonyH93/GoCycling/main/Screenshots/AppStoreVersion1_2_0/5.png'>`Screenshot 3`</a> <a href='https://raw.githubusercontent.com/AnthonyH93/GoCycling/main/Screenshots/AppStoreVersion1_2_0/6.png'>`Screenshot 4`</a>
- `2026` `swift` `swiftui` `mapkit` `core-data`
- ☆`184`
- [KFinder](https://github.com/robertwtucker/kfinderapp-ios): Promotes consistent Vitamin K intake and regular blood testing for warfarin users
- <a href=https://kfinderapp.com>`https://kfinderapp.com`</a>
- [` App Store`](https://apps.apple.com/app/kfinder/id6738031531) <a href='https://raw.githubusercontent.com/robertwtucker/kfinderapp-ios/master/assets/kfinder-home.png'>`Screenshot 1`</a>
- `2026` `swift` `swiftui`
- ☆`3`
- [Migraine Log](https://gitlab.com/mglog/org.zerodogg.migraineLog): A headache diary that respects your privacy
- <a href=https://migrainelog.zerodogg.org>`https://migrainelog.zerodogg.org`</a>
- [` App Store`](https://apps.apple.com/app/migraine-log/id1636946550) <a href='https://gitlab.com/zerodogg/migraine-log-ios-screenshots/-/blob/main/en-GB/1-iPhone%2013%20Pro%20Max.png'>`Screenshot 1`</a> <a href='https://gitlab.com/zerodogg/migraine-log-ios-screenshots/-/blob/main/en-GB/2-iPhone%2013%20Pro%20Max.png'>`Screenshot 2`</a> <a href='https://gitlab.com/zerodogg/migraine-log-ios-screenshots/-/blob/main/en-GB/3-iPhone%2013%20Pro%20Max.png'>`Screenshot 3`</a>
- `flutter` `dart`
- [MoodSnap](https://github.com/drpeterrohde/MoodSnap): Mood diary
- <a href=https://moodsnap.app/>`https://moodsnap.app/`</a>
- [` App Store`](https://apps.apple.com/au/app/moodsnap-mood-diary/id1616291944) <a href='https://i0.wp.com/moodsnap.app/wp-content/uploads/2022/04/6D23AD28-AA53-47EE-B01F-81637A23FEF2.jpeg?resize=947%2C2048&ssl=1'>`Screenshot 1`</a>
- `2023` `swift` `swiftui`
- ☆`60`
- [Open Food Facts](https://github.com/openfoodfacts/smooth-app): Scan food products barcode to see if they are good for you and the planet
- [` App Store`](https://apps.apple.com/app/open-food-facts/id588797948) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple124/v4/e7/18/27/e71827cd-1fd4-5b81-b52e-2668feed9700/pr_source.png/230x0w.png'>`Screenshot 1`</a>
- `2026` `flutter`
- ☆`1249`
- [Rise — Sleep Companion](https://github.com/VladimirBrejcha/Rise): Smart Personal Sleep Schedule App. Reimagine your mornings with Rise, your personal smart sleep companion! Tailor your own sleep schedule, wake up serenely to gentle nature sounds, and track your progress seamlessly.
- <a href=http://rise.vladimirbrejcha.com>`http://rise.vladimirbrejcha.com`</a>
- [` App Store`](https://apps.apple.com/app/rise-sleep-companion/id6451386327) <a href='https://github.com/VladimirBrejcha/Rise/assets/44097057/f680e08c-2c2b-4293-a1cd-2bd342f284b0'>`Screenshot 1`</a>
- `2023` `swift`
- ☆`45`
- [Suicide Safety Plan](https://github.com/suicidesafetyplan/safetyplan-ios): Suicide prevention
- [` App Store`](https://apps.apple.com/app/id1003891579) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/93d87e60-c5e3-467a-a7df-d724c3e5d4fb'>`Screenshot 1`</a>
- `2024` `objc`
- ☆`28`
- [Vite Ma Dose de Vaccin !](https://github.com/CovidTrackerFr/vitemadose-ios): Quicky find a COVID-19 vaccine in France
- [` App Store`](https://apps.apple.com/fr/app/vite-ma-dose/id1563630754) <a href='https://is2-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/bd/45/d5/bd45d5dd-4168-d2f5-ae62-448ea5cfc435/5635e2d4-0e69-45cb-8bf1-6779b7585c02_Simulator_Screen_Shot_-_iPhone_12_Pro_Max_-_2021-04-20_at_13.21.23.png/600x0w.png'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/a0/73/70/a0737094-f8da-eb35-a2ce-a828b9a420c4/41353d0c-d4c4-402c-b31f-a5391db4c6a9_Simulator_Screen_Shot_-_iPhone_12_Pro_Max_-_2021-04-20_at_13.21.27.png/600x0w.png'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/81/d6/94/81d69467-242b-cf3d-30d7-6222b9b0eddf/467635c0-5acc-40d8-8d7e-0728ef287724_Simulator_Screen_Shot_-_iPhone_12_Pro_Max_-_2021-04-20_at_13.21.32.png/600x0w.png'>`Screenshot 3`</a>
- `2022` `swift`
- ☆`32`
### Contact Tracing
[back to top](#readme)
- [Australia - COVIDSafe](https://github.com/AU-COVIDSafe/mobile-ios)
- [` App Store`](https://apps.apple.com/au/app/covidsafe/id1509242894) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/7e571841-430e-4fea-bde0-c9bc400a994d'>`Screenshot 1`</a>
- `2021` `swift` `alamofire` `keychainswift` `lottie`
- ☆`274`
- [Austria - Stopp Corona](https://github.com/austrianredcross/stopp-corona-ios): Keep track of encounters with friends, family or co-workers and save them anonymously
- [` App Store`](https://apps.apple.com/app/apple-store/id1503717224) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/cc16de41-9c6e-4142-a7e2-547eef9e1c81'>`Screenshot 1`</a>
- `2022` `swift` `swiftlint` `moya` `swiftybeaver` `firebase` `sqlite` `lottie`
- ☆`157`
- [Bulgaria - ViruSafe](https://github.com/scalefocus/virusafe-ios): Share symptoms as well track the spread of COVID-19 with an interactive map
- [` App Store`](https://apps.apple.com/bg/app/virusafe/id1506362170) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/f7b2b7ce-1a94-4dd6-8e58-d70ffbe55cbf'>`Screenshot 1`</a>
- `2020` `swift`
- ☆`16`
- [Croatia - Stop COVID-19](https://github.com/Stop-COVID-19-Croatia/stopcovid19-ios)
- [` App Store`](https://apps.apple.com/app/stop-covid-19/id1519179939) <a href='https://user-images.githubusercontent.com/4723115/129609595-4d08dc82-a418-477f-bbf8-3e6d7e4f89f8.png'>`Screenshot 1`</a>
- `2022` `swift`
- ☆`6`
- [France - TousAntiCovid](https://gitlab.inria.fr/stopcovid19/stopcovid-ios)
- <a href=https://www.economie.gouv.fr/tousanticovid>`https://www.economie.gouv.fr/tousanticovid`</a>
- [` App Store`](https://apps.apple.com/app/stopcovid-france/id1511279125) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/9cddac33-77fa-48f5-8b61-f596e9594b63'>`Screenshot 1`</a>
- `swift`
- [Haiti, Guam, Puerto Rico, Wyoming - COVID Safe Paths](https://github.com/Path-Check/safeplaces-dct-app): COVID-19 exposure notification and contract tracing
- [` App Store`](https://apps.apple.com/app/covid-safe-paths/id1508266966) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/200dfb7d-3dd6-421e-b05b-bad5ef709d87'>`Screenshot 1`</a>
- `2026` `react-native`
- ☆`465`
- [Iceland - rakning-c19-app](https://github.com/aranja/rakning-c19-app): Help analyse individuals’ travel and trace their movements when cases of infection arise
- <a href=https://www.covid.is/app/is>`https://www.covid.is/app/is`</a>
- [` App Store`](https://apps.apple.com/app/rakning-c-19/id1504655876) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/c1db03e9-fb0e-4aae-9273-018ae8b50bea'>`Screenshot 1`</a>
- `2023` `react-native`
- ☆`239`
- [Israel - Hamagen](https://github.com/MohGovIL/hamagen-react-native): COVID-19 exposure prevention app
- [` App Store`](https://apps.apple.com/app/id1503224314) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/16d7f998-d72f-453c-8048-79fb1328d278'>`Screenshot 1`</a>
- `2023` `react-native`
- ☆`510`
- [Poland - ProteGO Safe](https://github.com/ProteGO-Safe/ios): User daily triage and contact tracing using Exposure Notification API
- [` App Store`](https://apps.apple.com/app/protego-safe/id1508481566) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/1e70f5e9-78a0-4d53-b176-03393309c91a'>`Screenshot 1`</a>
- `2021` `swift`
- ☆`90`
- [Spain - RadarCOVID](https://github.com/RadarCOVID/radar-covid-ios): RadarCOVID tracing using DP3T
- <a href=https://radarcovid.gob.es>`https://radarcovid.gob.es`</a>
- [` App Store`](https://apps.apple.com/app/radar-covid/id1520443509) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/b8914750-06ce-484c-bb25-dcfa1ff900be'>`Screenshot 1`</a>
- `2022` `swift` `dp3t`
- ☆`143`
- [Switzerland - SwissCovid](https://github.com/SwissCovid/swisscovid-app-ios): COVID-19 tracing using the Decentralised Privacy-Preserving Proximity Tracing (DP-3T or DP3T)
- [` App Store`](https://apps.apple.com/app/swisscovid-preview/id1509275381) <a href='https://github.com/SwissCovid/swisscovid-app-ios/blob/develop/Documentation/screenshots/screenshots.png?raw=true'>`Screenshot 1`</a>
- `2022` `swift` `dp3t`
- ☆`144`
- [USA Arizona - Covid Watch](https://github.com/covidwatchorg/covidwatch-ios-en)
- [` App Store`](https://apps.apple.com/us/app/id1521655110) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/50e7f707-8163-466e-97a0-b6d4e149b5a8'>`Screenshot 1`</a>
- `2020` `swift`
- ☆`12`
### Contact Tracing Reference
[back to top](#readme)
### Fitness
[back to top](#readme)
- [Gym Routine Tracker](https://github.com/open-trackers/Gym-Routine-Tracker-Watch-App): Minimalist workout tracker
- [` App Store`](https://apps.apple.com/app/gym-routine-tracker/id6444747204) <a href='https://raw.githubusercontent.com/gym-routine-tracker/gym-routine-tracker.github.io/gh-pages/assets/images/exercise-run-display.png'>`Screenshot 1`</a>
- `2023` `swift` `swiftui`
- ☆`53`
- [Medito](https://github.com/meditohq/medito-app): No ads, no sign-up
- [` App Store`](https://apps.apple.com/app/medito/id1500780518)
- `2026` `flutter`
- ☆`1189`
- [OutRun](https://github.com/timfraedrich/OutRun): Outdoor fitness tracker that supports walking, hiking, cycling & skating
- [` App Store`](https://apps.apple.com/app/OutRun/id1477511092) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/1f87f25c-a3fe-45fc-83e1-719d38fbd18d'>`Screenshot 1`</a>
- `2025` `swift` `snapkit` `charts`
- ☆`836`
- [QZ - qdomyos-zwift](https://github.com/cagnulein/qdomyos-zwift): Unlock your bike / treadmill
- [` App Store`](https://apps.apple.com/app/id1543684531) <a href='https://github.com/cagnulein/qdomyos-zwift/raw/master/icons/AppScreen/iOS%20Phones%20-%206.5_/screenshot2.jpeg'>`Screenshot 1`</a>
- `2026` `cpp`
- ☆`753`
- [RaceRunner](https://github.com/vermont42/RaceRunner): A Run-Tracking App for Runners Who Race
- [` App Store`](https://apps.apple.com/app/racerunner-run-tracking-app/id1065017082) <a href='https://raw.githubusercontent.com/vermont42/RaceRunner/master/RaceRunner/RaceRunner1.png?raw=true'>`Screenshot 1`</a> <a href='https://github.com/vermont42/RaceRunner/blob/master/RaceRunner/RaceRunner2.png?raw=true'>`Screenshot 2`</a> <a href='https://github.com/vermont42/RaceRunner/blob/master/RaceRunner/RaceRunner2-1.png?raw=true'>`Screenshot 3`</a> <a href='https://github.com/vermont42/RaceRunner/blob/master/RaceRunner/RaceRunner8.png?raw=true'>`Screenshot 4`</a> <a href='https://github.com/vermont42/RaceRunner/blob/master/RaceRunner/RaceRunner3.png?raw=true'>`Screenshot 5`</a> <a href='https://github.com/vermont42/RaceRunner/blob/master/RaceRunner/RaceRunner4.png?raw=true'>`Screenshot 6`</a>
- `2024` `swift`
- ☆`87`
- [rTracker](https://github.com/rob-miller/rTracker): A generic, customizable personal data tracker
- [` App Store`](https://apps.apple.com/app/rtracker-track-it-all-your-way/id486541371) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple3/v4/b8/0a/8e/b80a8e89-ca96-388e-6ea2-f35048b3d75f/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple1/v4/c4/76/40/c476408e-27d6-6f4f-e304-3bccf1855509/pr_source.png/460x0w.jpg'>`Screenshot 2`</a>
- `2025` `objc`
- ☆`46`
- [Simple.](https://github.com/basarsubasi/simplefitnessapp): Create, schedule and track your workouts locally
- [` App Store`](https://apps.apple.com/us/app/simple-fitness-simplified/id6740262965) <a href='https://github.com/user-attachments/assets/d04a192f-836e-439e-aa0a-6fd8010cb13a'>`Screenshot 1`</a> <a href='https://github.com/user-attachments/assets/0bd94a1f-bca0-41ab-a67d-5745ed4d8599'>`Screenshot 2`</a> <a href='https://github.com/user-attachments/assets/7011f5ae-c0d7-444e-9bdc-1023d4bfd546'>`Screenshot 3`</a> <a href='https://github.com/user-attachments/assets/de2a6493-ec9e-4935-a49b-c33dd9f66829'>`Screenshot 4`</a>
- `2025` `react-native` `expo` `typescript`
- ☆`201`
### ResearchKit
https://www.apple.com/researchkit/ — [back to top](#readme)
- [MyHeartCounts](https://github.com/ResearchKit/MyHeartCounts): Personalized tool that can help you measure daily activity, fitness, & cardiovascular risk
- [` App Store`](https://apps.apple.com/app/id972189947) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple122/v4/c0/c5/b0/c0c5b015-3205-5091-278f-40538b84db43/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple111/v4/d4/7c/39/d47c390a-fd83-fe45-f5c7-df80bb857a50/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple122/v4/01/85/2f/01852f0e-05c6-ec67-5572-e9660a53ed8b/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple122/v4/37/5b/6e/375b6ed7-68fb-5ec8-d034-068cb48628ac/pr_source.png/460x0w.jpg'>`Screenshot 4`</a>
- `2015` `objc`
- ☆`68`
## Home
[back to top](#readme)
- [Home Assistant Companion](https://github.com/home-assistant/iOS): Control and monitor your home from anywhere in the world
- <a href=https://www.home-assistant.io/>`https://www.home-assistant.io/`</a>
- [` App Store`](https://apps.apple.com/app/home-assistant-open-source-home-automation/id1099568401) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple128/v4/47/a7/a6/47a7a652-c206-4a30-1aae-e20c0c17d5ea/mzl.xkrohcrn.png/690x0w.jpg'>`Screenshot 1`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple128/v4/05/68/18/0568186a-f883-1172-de2c-e3dbfb9adaae/mzl.oqskbgaz.png/690x0w.jpg'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple118/v4/4a/5c/09/4a5c097b-df61-fe5c-7d81-97f757d7ad74/mzl.yzivdnlw.png/690x0w.jpg'>`Screenshot 3`</a>
- `2026` `swift`
- ☆`2101`
- [openHAB](https://github.com/openhab/openhab-ios): Vendor & technology agnostic home automation
- <a href=https://www.openhab.org/>`https://www.openhab.org/`</a>
- [` App Store`](https://apps.apple.com/app/openhab/id492054521) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/fd/ca/19/fdca1922-65a5-f0aa-a41b-fe66b35d0a92/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/2d/19/5a/2d195a15-ee66-1246-22d6-703df2993930/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/ea/66/a5/ea66a51c-2c07-d944-8fb8-5cee014942f5/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/bd/e7/3a/bde73a86-3afd-d434-7353-22cbe70a742e/pr_source.png/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `swift`
- ☆`208`
## Location
[back to top](#readme)
- [Arc](https://github.com/sobri909/ArcMini): Learns about the places you visit & how you like to move around
- [` App Store`](https://apps.apple.com/app/arc-app-location-activity/id1063151918) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/add2f568-16b9-442f-859a-d19e45c248bc'>`Screenshot 1`</a>
- `2024` `swift`
- ☆`113`
- [Emission](https://github.com/e-mission/e-mission-phone): Track your travel modes and your travel carbon footprint, and compare them against other users
- <a href=https://e-mission.eecs.berkeley.edu/#/home>`https://e-mission.eecs.berkeley.edu/#/home`</a>
- [` App Store`](https://apps.apple.com/app/emission/id1084198445) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/3518c87d-e95d-43d3-b4ff-29aafc615c84'>`Screenshot 1`</a>
- `2026` `javascript` `phonegap` `cordova` `ionic`
- ☆`29`
- [GeoLicious](https://github.com/da3x/GeoLicious): Location tracking made easy
- [` App Store`](https://apps.apple.com/app/geolicious/id637366170) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/25/08/18/250818d7-a6b1-0af4-0efb-cb977f7c5c93/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple128/v4/bc/ce/5f/bcce5fcd-b809-72d6-63f8-aff380326149/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple62/v4/60/da/8c/60da8cfc-c0c4-56d2-aedb-e97cfe1be461/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple62/v4/13/f0/80/13f08044-d8bc-03cd-341e-aed485137a8f/pr_source.png/460x0w.jpg'>`Screenshot 4`</a>
- `2021` `objc`
- ☆`36`
- [KartaView](https://github.com/kartaview/ios): Collect OpenStreetView data
- [` App Store`](https://apps.apple.com/app/openstreetview/id1089548849) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/3f/3c/aa/3f3caa9b-98b1-4aa5-5c8c-bed8f892b88b/pr_source.jpg/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple113/v4/02/2d/b7/022db748-a04b-8efa-fc39-b99ebb04aa4d/pr_source.jpg/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/8e/30/8a/8e308ad5-1942-e3ce-c2c9-0b695f850a94/pr_source.jpg/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/9f/00/22/9f00227d-7f69-d30f-ccaa-99a5ea9f3ef8/pr_source.jpg/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple123/v4/6e/5f/11/6e5f11b8-fbb6-3ee6-59c0-75fd793e426e/pr_source.jpg/460x0w.jpg'>`Screenshot 5`</a>
- `2021` `objc`
- ☆`47`
- [Miataru](https://github.com/miataru/miataru-ios-client): Location tracking where data can be shared over public or private servers
- <a href=https://miataru.com/ios/>`https://miataru.com/ios/`</a>
- [` App Store`](https://apps.apple.com/app/id717539389) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple118/v4/6a/b0/f6/6ab0f684-a286-16d9-199d-89b4307590ac/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple128/v4/64/49/47/64494743-7090-202f-344d-4d1750755ac4/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple118/v4/1d/31/e6/1d31e607-ebbc-8dda-7b48-d4361667e152/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple128/v4/85/f6/a1/85f6a122-2962-a4be-126e-f2c97804caaf/pr_source.png/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `objc`
- ☆`17`
- [Organic Maps](https://github.com/organicmaps/organicmaps): Privacy-focused, ads-free, donation-based offline maps & GPS app with navigation for hiking, cycling, biking, and driving
- <a href=https://organicmaps.app/>`https://organicmaps.app/`</a>
- [` App Store`](https://apps.apple.com/app/organic-maps/id1567437057) <a href='https://github.com/user-attachments/assets/e276770c-1a13-4185-8bd2-a0946f4926ac'>`Screenshot 1`</a>
- `2026` `swift` `openstreetmap api` `c++` `objective-c++`
- ☆`13307`
- [OsmAnd Maps](https://github.com/osmandapp/Osmand): Map with access to OpenStreetMaps
- <a href=https://osmand.net/>`https://osmand.net/`</a>
- [` App Store`](https://apps.apple.com/app/id934850257) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple123/v4/4e/2e/83/4e2e8318-746e-d079-d520-145290e37c16/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/cd/55/dc/cd55dc5f-143c-89a0-8239-426c195c6490/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/86/9b/65/869b6564-776f-bed9-5896-2ec9c0fcb299/pr_source.png/460x0w.jpg'>`Screenshot 3`</a>
- `2026` `objc`
- ☆`5550`
- [OwnTracks](https://github.com/owntracks/ios): Keep track of your own location, you can build your private location diary or share it with your family & friends
- [` App Store`](https://apps.apple.com/app/mqttitude/id692424691) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/c0/2f/b2/c02fb296-8abc-ca24-c7a4-05c852f22733/pr_source.png/460x0w.jpg'>`Screenshot 1`</a>
- `2026` `cocoalumberjack`
- ☆`395`
- [ParkenDD](https://github.com/kiliankoe/ParkenDD): Check the status of several public parking lots in Germany & Switzerland
- [` App Store`](https://apps.apple.com/app/parkendd/id957165041) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/84/b8/77/84b87703-5804-5855-2304-3b95cd5da950/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/89/69/d3/8969d378-cf5d-3c4c-8666-97f6eb1b060f/pr_source.png/460x0w.jpg'>`Screenshot 2`</a>
- `2021` `swift`
- ☆`52`
- [Prey](https://github.com/prey/prey-ios-client): Track lost or stolen devices & perform actions remotely
- <a href=https://preyproject.com/>`https://preyproject.com/`</a>
- [` App Store`](https://apps.apple.com/app/id456755037) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/da/26/c7/da26c749-b889-37a7-9e2f-62c73bcfba3d/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/a1/89/75/a18975f9-b682-9c9b-5f2e-96389f66fec6/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/87/60/24/876024e2-5338-26c9-7e08-7415068a08e0/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/a5/1d/29/a51d297d-74c8-4086-7585-263c2c1ea494/pr_source.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/df/a7/52/dfa7524e-313e-ff82-d615-f95cd5149dc9/pr_source.png/460x0w.jpg'>`Screenshot 5`</a>
- `2026` `objc`
- ☆`288`
- [Red Grid MGRS](https://github.com/RedGridTactical/RedGridMGRS): DAGR-class military GPS navigator with live MGRS coordinates, magnetic declination, waypoints, tactical tools & report templates
- [` App Store`](https://apps.apple.com/app/id6759629554)
- `javascript` `react-native` `expo`
- [TICE](https://github.com/TICESoftware/tice-ios): Location sharing, cross-platform and end-to-end encrypted
- <a href=https://ticeapp.com>`https://ticeapp.com`</a>
- [` App Store`](https://apps.apple.com/app/tice-secure-location-sharing/id1494324936) <a href='https://is3-ssl.mzstatic.com/image/thumb/PurpleSource114/v4/89/a8/e6/89a8e617-a95d-d1e1-47b1-1f82de971b92/f9f41d98-73f0-4357-ae19-7faad0036a26_iPhone_11_Pro_Max-01TeamScreenWithAnnotation_framed.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/PurpleSource114/v4/34/ff/0f/34ff0f8d-4607-2651-c7f6-8c56d3520436/be2eaf91-1a01-4dd2-a1cd-cf053e1daaf3_iPhone_11_Pro_Max-04TeamInfoScreen_framed.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/PurpleSource124/v4/92/09/b8/9209b8d8-de12-e9c7-f4f6-f8d40f8e1cbb/1fcd2bfb-0db6-439f-9f3e-5ebaf51ac431_iPhone_11_Pro_Max-03Chat_framed.png/460x0w.png'>`Screenshot 3`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/PurpleSource114/v4/6f/6d/d6/6f6dd6e4-04ae-de60-0360-7e9b2a61eeea/eff7d3c3-dbc0-4418-be76-bced238dc962_iPhone_11_Pro_Max-05TeamScreen_framed.png/460x0w.png'>`Screenshot 4`</a>
- `2024` `swift`
- ☆`25`
- [Traccar Client](https://github.com/traccar/traccar-client-ios): Report device location to the server
- [` App Store`](https://apps.apple.com/app/traccar-client/id843156974) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple128/v4/4d/ea/78/4dea78be-f19a-101f-7014-d2dc339ada88/pr_source.png/460x0w.png'>`Screenshot 1`</a>
- `2025` `objc`
- ☆`249`
- [Traccar Manager](https://github.com/traccar/traccar-manager-ios): Track GPS devices on a map
- [` App Store`](https://apps.apple.com/app/traccar-manager/id1113966562) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple82/v4/68/1e/63/681e63ef-4cda-0e94-7489-01858fbfd8ab/pr_source.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple122/v4/17/a6/03/17a6033a-1de3-ce5e-fd25-e150f778524d/pr_source.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple111/v4/ff/46/cf/ff46cfa4-adc9-27be-96c7-f745c74be801/pr_source.png/460x0w.png'>`Screenshot 3`</a>
- `2025` `objc`
- ☆`137`
## Media
Image, video, audio, reading — [back to top](#readme)
- [MuPDF](https://github.com/ArtifexSoftware/mupdf): A PDF, XPS/OpenXPS, CBZ & EPUB document viewer
- <a href=https://mupdf.com/>`https://mupdf.com/`</a>
- [` App Store`](https://apps.apple.com/app/id482941798) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/c3/ac/f7/c3acf7d1-9fb6-a5bc-6e09-8ccc70bf3e97/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/77/69/aa/7769aa4a-5e2f-f145-f89e-541c94ac74a7/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/62/0b/52/620b5289-7cdb-fa7a-4883-0d3565d87690/pr_source.png/460x0w.jpg'>`Screenshot 3`</a>
- `2026` `objc`
- ☆`2621`
- [MuVis](https://github.com/Keith-43/MuVis-Experimentation): Music Visualization
- [` App Store`](https://apps.apple.com/app/muvis-music-visualizer/id1582324352) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/0cb6a163-5169-4427-b831-ae07ae5641d7'>`Screenshot 1`</a>
- `2025` `swift` `swiftui` `metal` `audio` `music`
- ☆`15`
- [Pictograph](https://github.com/MrAdamBoyd/Pictograph): Hide messages in images with steganography
- [` App Store`](https://apps.apple.com/app/id1051879856) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple127/v4/4f/99/3c/4f993c14-e215-1e9e-0277-34b02ec222aa/pr_source.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple127/v4/10/79/88/107988e0-fb27-96bf-c9dd-14bf092de0af/pr_source.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple117/v4/15/86/bf/1586bf11-90d6-61ff-ac3d-0deb855b0276/pr_source.png/460x0w.png'>`Screenshot 3`</a>
- `2021` `swift`
- ☆`76`
- [Piecelet for NeoDB](https://github.com/Piecelet/neodb-app)
- [` App Store`](https://apps.apple.com/app/piecelet-for-neodb/id6739444863) <a href='https://raw.githubusercontent.com/lcandy2/neodb-app/refs/heads/main/Images/Featured.png'>`Screenshot 1`</a>
- `2025` `swift`
- ☆`78`
- [Pixelfed](https://github.com/pixelfed/pixelfed-rn): Share your photography on a privacy-focused, ad-free platform. Own your content. Connect authentically
- [` App Store`](https://apps.apple.com/app/pixelfed/id1632519816) <a href='https://pixelfed.nyc3.cdn.digitaloceanspaces.com/media/pixelfed-app-screenshot-3.jpg'>`Screenshot 1`</a>
- `2026` `react-native` `typescript`
- ☆`337`
- [Pocket Casts](https://github.com/Automattic/pocket-casts-ios)
- [` App Store`](https://apps.apple.com/app/pocket-casts-podcast-player/id414834813)
- `2026` `swift` `podcast`
- ☆`1759`
- [Readest](https://github.com/readest/readest): Feature-rich ebook reader
- [` App Store`](https://apps.apple.com/app/readest-ebook-reader/id6738622779) <a href='https://github.com/user-attachments/assets/c6de1b0e-8a49-4ad8-a72e-b04e7e7b9917'>`Screenshot 1`</a>
- `2026` `react-native`
- ☆`17743`
- [Wallabag](https://github.com/wallabag/ios-app): A self-hosted read-it-later app
- [` App Store`](https://apps.apple.com/app/wallabag-2-official/id1170800946) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/6ee36d3c-1dbd-4b1d-9a39-0070fd5e0681'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`205`
### Animoji
[back to top](#readme)
### Audio
[back to top](#readme)
- [AudioKit ROM Player](https://github.com/AudioKit/ROMPlayer): Make your own sample music instrument
- <a href=https://audiokitpro.com/rom-player-code/>`https://audiokitpro.com/rom-player-code/`</a>
- [` App Store`](https://apps.apple.com/app/fm-player-classic-dx-synths/id1307785646) <a href='https://audiokitpro.com/wp-content/uploads/2017/11/romplayer.png'>`Screenshot 1`</a>
- `2019` `swift` `swift4` `ipad`
- ☆`548`
- [AudioKitSynthOne](https://github.com/AudioKit/AudioKitSynthOne): Free synthesizer https://audiokitpro.com/synth/
- <a href=https://audiokitpro.com/synth/>`https://audiokitpro.com/synth/`</a>
- [` App Store`](https://apps.apple.com/app/audiokit-synth-one-synthesizer/id1371050497) <a href='https://audiokitpro.com/images/ak2.gif'>`Screenshot 1`</a>
- `2022` `swift` `objc`
- ☆`1760`
- [BookPlayer](https://github.com/TortugaPower/BookPlayer): Player for your DRM-free audiobooks
- [` App Store`](https://apps.apple.com/app/bookplayer-audio-book-player/id1138219998) <a href='https://user-images.githubusercontent.com/14112819/42383876-3619b35c-80fe-11e8-8923-e5f80a3bb0d2.PNG'>`Screenshot 1`</a> <a href='https://user-images.githubusercontent.com/14112819/42383878-36354798-80fe-11e8-9621-9c88e54474ce.PNG'>`Screenshot 2`</a> <a href='https://user-images.githubusercontent.com/14112819/42383879-3655af6a-80fe-11e8-8516-81c19ba5f4cc.PNG'>`Screenshot 3`</a>
- `2026` `swift`
- ☆`2043`
- [Concertmaster Player](https://github.com/openopus-org/concertmaster_ios): Classical music front-end for Spotify
- [` App Store`](https://apps.apple.com/app/concertmaster-player/id1561622325) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/57d23dbc-ee29-49b6-b02c-fb653c1abc17'>`Screenshot 1`</a>
- `2021` `swift`
- ☆`10`
- [Podverse](https://github.com/podverse/podverse-rn): Feature-rich, cross-platform podcast app with a focus on clip sharing and discovery
- <a href=https://podverse.fm>`https://podverse.fm`</a>
- [` App Store`](https://apps.apple.com/app/podverse/id1390888454) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/b7d0b732-f756-4d80-b1a5-8578ea71b817'>`Screenshot 1`</a>
- `2025` `react-native`
- ☆`284`
- [ZenTuner](https://github.com/jpsim/ZenTuner): Minimal chromatic tuner
- [` App Store`](https://apps.apple.com/app/zen-tuner/id1550640624) <a href='https://github.com/jpsim/ZenTuner/raw/main/images/zentuner-ios-dark.png'>`Screenshot 1`</a>
- `2024` `swift`
- ☆`569`
### Content
[back to top](#readme)
- [Artsy](https://github.com/artsy/eigen): The art world in your pocket
- [` App Store`](https://apps.apple.com/app/artsy-art-world-in-your-pocket/id703796080) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/2e40b21e-59fa-4026-ad3c-07e2a08bf4f5'>`Screenshot 1`</a>
- `2026` `iphone` `ipad` `reactnative` `typescript`
- ☆`3757`
- [Kiwix](https://github.com/kiwix/kiwix-apple): An offline reader for Wikipedia (& many other websites)
- <a href=https://wiki.kiwix.org/wiki/Main_Page>`https://wiki.kiwix.org/wiki/Main_Page`</a>
- [` App Store`](https://apps.apple.com/app/id997079563) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/c9/62/b5/c962b556-d941-76a6-1bf9-365b817c8539/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/6e/0b/8f/6e0b8fb9-99ec-7490-b13b-48972561f4a4/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple113/v4/bf/82/f8/bf82f8db-130e-c6bf-cd08-b273679747f1/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple113/v4/3e/a8/e6/3ea8e6c4-ca6a-b609-552e-6b46e218a0a1/pr_source.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/58/b9/bf/58b9bf1a-6ae9-6336-a823-60479de91825/pr_source.png/460x0w.jpg'>`Screenshot 5`</a>
- `2026` `swift`
- ☆`681`
- [MovieDict](https://github.com/lurado/MovieDict): Offline dictionary for international movie titles
- <a href=https://moviedict.info>`https://moviedict.info`</a>
- [` App Store`](https://apps.apple.com/app/movieglot-what-do-they-call-it/id710587066) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/f4ee6d90-2fa7-42ad-93f5-8da9d6e5fd09'>`Screenshot 1`</a>
- `2019` `wikipedia`
- ☆`9`
- [Reading List](https://github.com/AndrewBennet/ReadingListV1): Track personal reading lists
- [` App Store`](https://apps.apple.com/app/reading-list-a-book-tracking-log/id1217139955) <a href='https://raw.githubusercontent.com/AndrewBennet/ReadingListV1/master/media/iPhone%20X-0_ToReadList_framed.png'>`Screenshot 1`</a>
- `2024` `swift` `iphone` `ipad` `core-data`
- ☆`302`
- [Sora](https://github.com/cranci1/Sora): Modular web scraping
- [` App Store`](https://apps.apple.com/app/sulfur/id6742741043) <a href='https://raw.githubusercontent.com/cranci1/Sora/refs/heads/main/assets/Sulfur.png'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`346`
- [Strata](https://github.com/microdotblog/strata): Notes for Micro.blog
- [` App Store`](https://apps.apple.com/app/strata-for-micro-blog/id6474192080)
- `2025` `react-native`
- ☆`3`
- [xkcd](https://github.com/paulrehkugler/xkcd)
- [` App Store`](https://apps.apple.com/app/xkcd/id303688284) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/a5/4b/89/a54b89ec-8cf6-78c7-9f5c-67c6a8d00341/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/33/33/49/333349c4-fc0e-d230-0bd4-f687460dc2de/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/4c/af/fd/4caffd9b-7cfb-ce00-7fa9-7b09771009de/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/4e/68/a1/4e68a100-d19d-a6dd-6c83-4c26d47078fd/pr_source.png/460x0w.jpg'>`Screenshot 4`</a>
- `2021` `iphone`
- ☆`45`
- [XKCDY for xkcd](https://github.com/XKCDY/app)
- [` App Store`](https://apps.apple.com/app/xkcdy/id1520259318) <a href='https://user-images.githubusercontent.com/4723115/128615800-e136ba1b-6c14-4aae-ac0e-59fa9b382b4b.png'>`Screenshot 1`</a>
- `2024` `iphone` `ipad`
- ☆`45`
### GIF
Mostly using https://giphy.com/ — [back to top](#readme)
- [ProgressGif](https://github.com/aheze/ProgressGif): Add progress bars to gifs
- [` App Store`](https://apps.apple.com/app/id1526969349) <a href='https://raw.githubusercontent.com/aheze/ProgressGif/main/Assets/GitHub/Usage/Step1.gif'>`Screenshot 1`</a>
- `2022` `swift` `ipad`
- ☆`111`
### Photo
[back to top](#readme)
- [Blear](https://github.com/sindresorhus/blear): Transform your photos into stunning blurry wallpapers for your device
- [` App Store`](https://apps.apple.com/app/blear-create-blurry-wallpapers/id994182280) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/92/6f/a4/926fa4b0-7002-a610-2d29-aa5d0598ffaf/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/4c/af/9b/4caf9b23-c3a5-8177-c7cd-f02e4e3d7ba2/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/52/fb/46/52fb4604-c9fb-1799-ba61-3c1523986e03/pr_source.png/460x0w.jpg'>`Screenshot 3`</a>
- `2025` `objc`
- ☆`544`
- [Find](https://github.com/aheze/OpenFind): Text search for images
- [` App Store`](https://apps.apple.com/app/id1506500202) <a href='https://open.getfind.app/assets/Find.jpg'>`Screenshot 1`</a>
- `2023` `swift` `swiftui` `realm` `camera`
- ☆`1063`
- [MetaX](https://github.com/Ckitakishi/MetaX): Check, edit and delete metadata of photos
- [` App Store`](https://apps.apple.com/app/metax/id1376589355) <a href='https://raw.githubusercontent.com/Ckitakishi/MetaX/master/Screenshots/iPhone_en.png'>`Screenshot 1`</a> <a href='https://raw.githubusercontent.com/Ckitakishi/MetaX/master/Screenshots/iPad_en.png'>`Screenshot 2`</a>
- `2026` `swift`
- ☆`215`
- [Space!](https://github.com/jtbandes/SpacePOD): iOS 14 widget displaying NASA's Astronomy Picture of the Day
- [` App Store`](https://apps.apple.com/app/id1536864924) <a href='https://user-images.githubusercontent.com/14237/96915139-c171b980-145a-11eb-8ff5-191c6cba9f66.png'>`Screenshot 1`</a> <a href='https://user-images.githubusercontent.com/14237/96915188-cdf61200-145a-11eb-99b8-d5ee109c2b5c.png'>`Screenshot 2`</a> <a href='https://user-images.githubusercontent.com/14237/96915181-ccc4e500-145a-11eb-8627-781621ffc87a.png'>`Screenshot 3`</a> <a href='https://user-images.githubusercontent.com/14237/96915186-cd5d7b80-145a-11eb-9be7-a233ce575081.png'>`Screenshot 4`</a>
- `2025`
- ☆`114`
- [Sprite Catalog](https://github.com/256Arts/Sprite-Catalog): A large collection of pixel art sprites and resources
- <a href=https://www.256arts.com/spritecatalog/>`https://www.256arts.com/spritecatalog/`</a>
- [` App Store`](https://apps.apple.com/app/sprite-catalog/id1560692872)
- `2025` `swift` `swiftui`
- ☆`14`
- [Sprite Cutter](https://github.com/256Arts/Sprite-Cutter): Quickly cut spritesheets into separate sprite PNG images
- <a href=https://www.256arts.com/spritecutter/>`https://www.256arts.com/spritecutter/`</a>
- [` App Store`](https://apps.apple.com/app/sprite-cutter/id1562779425)
- `2025` `swift` `swiftui`
- ☆`7`
- [Sprite Pencil](https://github.com/256Arts/Sprite-Pencil): Create and edit sprites and pixel art
- <a href=https://www.256arts.com/spritepencil/>`https://www.256arts.com/spritepencil/`</a>
- [` App Store`](https://apps.apple.com/app/sprite-pencil/id1437835952)
- `2025` `swift`
- ☆`21`
- [Upupu](https://github.com/xcoo/upupu): Simple camera that can backup pictures
- [` App Store`](https://apps.apple.com/app/upupu/id508401854) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple62/v4/cb/0d/a3/cb0da3c2-ceb8-2756-ce8f-4fdae819a49b/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple71/v4/25/29/90/252990fa-4332-32cb-25bb-023a9e09ccf2/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple62/v4/bf/7d/b9/bf7db949-e1c5-5d5d-733a-b1e09b5b9065/pr_source.png/460x0w.jpg'>`Screenshot 3`</a>
- `2018` `webdav` `dropbox`
- ☆`74`
- [WeAre](https://github.com/SherlockQi/HeavenMemoirs): Augmented reality album
- [` App Store`](https://apps.apple.com/app/weare/id1304227680) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/39/ae/1a/39ae1aa9-e91a-3cac-15b1-c19ee9c55001/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple118/v4/08/ed/70/08ed70e4-49fe-bf83-ca97-c118a8148fb8/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/cc/89/c0/cc89c006-3110-42a5-5eab-a9c04176e774/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/66/83/e2/6683e207-07ca-7d2c-290f-11c1f1d55d71/pr_source.png/460x0w.jpg'>`Screenshot 4`</a>
- `2020` `swift` `arkit`
- ☆`715`
### Video
[back to top](#readme)
- [Moblin](https://github.com/eerimoq/moblin): IRL streaming
- [` App Store`](https://apps.apple.com/app/moblin/id6466745933) <a href='https://raw.githubusercontent.com/eerimoq/moblin/main/docs/iphone15-pro-max-screenshot.png'>`Screenshot 1`</a> <a href='https://raw.githubusercontent.com/eerimoq/moblin/main/docs/watch-series-9-screenshot.png'>`Screenshot 2`</a> <a href='https://raw.githubusercontent.com/eerimoq/moblin/main/docs/watch-series-9-screenshot-chat.png'>`Screenshot 3`</a>
- `2026` `swift`
- ☆`539`
- [VLC](https://github.com/videolan/vlc): Media Player
- <a href=https://www.videolan.org/>`https://www.videolan.org/`</a>
- [` App Store`](https://apps.apple.com/app/vlc-for-ios/id650377962) <a href='https://user-images.githubusercontent.com/4723115/146823429-c85f22c0-e757-48c0-ba54-0930ed1769bc.png'>`Screenshot 1`</a>
- `2026` `objc` `ipad`
- ☆`17681`
- [Yattee](https://github.com/yattee/yattee): Alternative to YouTube
- [` App Store`](https://apps.apple.com/app/yattee/id1595136629)
- `2026` `swift` `tvos`
- ☆`3322`
## News
[back to top](#readme)
- [Beam](https://github.com/awkward/beam): Enjoy all of Reddit's content in a unique and beautiful package
- [` App Store`](https://apps.apple.com/app/beam-for-reddit/id937987469) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple19/v4/ab/1c/34/ab1c34ca-9913-ef85-ae35-10c2c7d3b7a6/mzl.gkpfevya.png/316x0w.jpg'>`Screenshot 1`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple71/v4/eb/79/57/eb795798-bba3-21d5-6070-d8f508af1be0/mzl.lbvrfpjf.png/316x0w.jpg'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple71/v4/13/5d/53/135d536b-5ec2-a567-d72a-c5e6fb12f804/mzl.rzeufpyk.png/316x0w.jpg'>`Screenshot 3`</a>
- `2020` `swift` `objc`
- ☆`276`
- [Project Democracy](https://github.com/itsliamdowd/Project-Democracy): Helps you be a better citizen by providing fair, unbiased coverage of elections
- [` App Store`](https://apps.apple.com/app/project-democracy/id6443437676)
- `2024` `swift`
- ☆`9`
- [Pushpin for Pinboard](https://github.com/lionheart/Pushpin): A client for the Pinboard.in bookmarking service
- [` App Store`](https://apps.apple.com/app/pushpin-for-pinboard/id548052590) <a href='https://2017.lionheartsw.com/static/images/pushpin-1.png'>`Screenshot 1`</a> <a href='https://2017.lionheartsw.com/static/images/pushpin-2.png'>`Screenshot 2`</a> <a href='https://2017.lionheartsw.com/static/images/pushpin-3.png'>`Screenshot 3`</a> <a href='https://2017.lionheartsw.com/static/images/pushpin-4.png'>`Screenshot 4`</a>
- `2025` `objc`
- ☆`50`
### Hacker News
https://news.ycombinator.com/ — [back to top](#readme)
- [Hackers](https://github.com/weiran/Hackers)
- [` App Store`](https://apps.apple.com/app/hackers-hacker-news-reading/id603503901) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple115/v4/14/98/59/149859fe-f4e3-0a12-d7fb-2d3383efdf45/mzl.ebnguksi.png/460x0w.jpg'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`740`
- [Hacki for Hacker News](https://github.com/Livinglist/Hacki)
- [` App Store`](https://apps.apple.com/app/hacki/id1602043763) <a href='https://user-images.githubusercontent.com/7277662/148859621-965080f3-a191-44cd-a2fc-9ac1f489ef84.png'>`Screenshot 1`</a> <a href='https://user-images.githubusercontent.com/7277662/148859627-48290a22-9679-442b-bae4-97f21546b3ae.png'>`Screenshot 2`</a> <a href='https://user-images.githubusercontent.com/7277662/148859630-93f7e372-f2e7-4357-86c0-250a3f69c10f.png'>`Screenshot 3`</a> <a href='https://user-images.githubusercontent.com/7277662/148859632-b52a89ca-b8d7-464c-a508-faa86bcc87f8.png'>`Screenshot 4`</a>
- `2025` `flutter`
- ☆`1487`
- [HN Reader](https://github.com/Dimillian/SwiftHN): Hacker News Reader
- [` App Store`](https://apps.apple.com/app/hn-reader-hacker-news-reader/id919243741) <a href='https://cdn-images-1.medium.com/v2/resize:fit:800/1*6Bey3OUZ2Xhuk-ZXCB-gOg.png'>`Screenshot 1`</a>
- `2020` `swift`
- ☆`1819`
- [Simple Reader](https://github.com/rnystrom/HackerNewsReader)
- [` App Store`](https://apps.apple.com/app/simple-reader-free-open-source/id1000995253) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/c7/31/95/c7319576-6210-9a93-8c03-5a84bc4626f3/mzl.unluhpnm.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple128/v4/b2/1b/56/b21b5672-08df-a48b-5c4b-43df00cabd08/mzl.dfznlxwe.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple128/v4/5d/ee/b8/5deeb8e3-0c14-793e-ba28-7a7591cb1a0f/mzl.okdygwvb.png/460x0w.jpg'>`Screenshot 3`</a>
- `2018` `objc`
- ☆`259`
- [Z Combinator for Hacker News](https://github.com/Livinglist/ZCombinator)
- [` App Store`](https://apps.apple.com/app/z-combinator-for-hacker-news/id1638242818) <a href='https://github.com/Livinglist/ZCombinator/blob/main/Resources/Screenshots/iphone-1.png'>`Screenshot 1`</a> <a href='https://github.com/Livinglist/ZCombinator/blob/main/Resources/Screenshots/iphone-2.png'>`Screenshot 2`</a> <a href='https://github.com/Livinglist/ZCombinator/blob/main/Resources/Screenshots/iphone-3.png'>`Screenshot 3`</a> <a href='https://github.com/Livinglist/ZCombinator/blob/main/Resources/Screenshots/iphone-6.png'>`Screenshot 4`</a>
- `2024` `swift` `swiftui`
- ☆`76`
### News API
https://newsapi.org/ — [back to top](#readme)
### RSS
[back to top](#readme)
- [NetNewsWire](https://github.com/Ranchero-Software/NetNewsWire): Feed reader that supports RSS, Atom, JSON Feed, and RSS-in-JSON formats
- <a href=https://netnewswire.com>`https://netnewswire.com`</a>
- [` App Store`](https://apps.apple.com/app/netnewswire-rss-reader/id1480640210) <a href='https://netnewswire.com/images/nnwios5/iPad-Light-Thumb.png'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`9707`
- [Twine RSS Reader](https://github.com/msasikanth/twine)
- [` App Store`](https://apps.apple.com/app/twine-rss-reader/id6465694958) <a href='https://github.com/msasikanth/twine/blob/main/readme_images/banner.png?raw=true'>`Screenshot 1`</a>
- `2026` `kotlin` `kotlin-multiplatform`
- ☆`2237`
## Official
[back to top](#readme)
- [Bluesky Social](https://github.com/bluesky-social/social-app)
- [` App Store`](https://apps.apple.com/app/bluesky-social/id6444370199) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/8a73b9fb-4708-4ce5-b241-bb8da41feebd'>`Screenshot 1`</a>
- `2026` `typescript` `react-native`
- ☆`17712`
- [DuckDuckGo browser](https://github.com/duckduckgo/apple-browsers)
- [` App Store`](https://apps.apple.com/app/duckduckgo-browser-search-ai/id663592361) <a href='https://github.com/user-attachments/assets/c67787e0-97ef-40d4-89ad-deed9dfa3c98'>`Screenshot 1`</a>
- `2026` `swift` `ipad` `macos`
- ☆`174`
- [Firefox](https://github.com/mozilla-mobile/firefox-ios): Official Firefox app
- [` App Store`](https://apps.apple.com/app/firefox-web-browser/id989804926) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/47/b7/1b/47b71b74-5bb4-9c4d-4826-18f89324af9d/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/ba/24/97/ba249744-0dda-90a9-4406-2d30720e59a4/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/93/d1/d4/93d1d4d1-5cde-f1d7-4e68-1fe824bcdc13/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/89/17/58/89175888-9e1e-3fcf-ce42-9dd347327298/pr_source.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/9f/36/dc/9f36dc54-b99b-fd5c-0076-0cdb1d4bc53e/pr_source.png/460x0w.jpg'>`Screenshot 5`</a>
- `2026` `swift` `carthage` `alamofire` `snapkit` `libphonenumber`
- ☆`12838`
- [IVPN](https://github.com/ivpn/ios-app)
- [` App Store`](https://apps.apple.com/app/ivpn-secure-vpn-for-privacy/id1193122683) <a href='https://github.com/user-attachments/assets/b3db260b-3c94-4913-90c1-25f6c2e771f1'>`Screenshot 1`</a>
- `2026` `swift` `ipad`
- ☆`547`
- [kDrive](https://github.com/Infomaniak/ios-kDrive): Secure cloud to collaborate online, access your documents and files on all your devices
- <a href=https://www.infomaniak.com/kdrive>`https://www.infomaniak.com/kdrive`</a>
- [` App Store`](https://apps.apple.com/app/infomaniak-kdrive/id1482778676) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple115/v4/fd/5e/eb/fd5eeb3a-6bef-a79f-b3f6-f6dacd824b8e/2da2a5e3-f988-4215-931a-58f58c9b9a66_mobile-6.5-1.png/600x0w.png'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple125/v4/8e/a7/72/8ea772cc-81d0-112f-ee4b-c475a92501bc/0c9b7def-a516-4116-92b4-7fa131519ac3_mobile-6.5-2.png/600x0w.png'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple125/v4/c5/ca/17/c5ca17ff-2950-0ec1-ab91-4e02f8d0947f/1391ef65-23e7-44b7-9c64-62bb35d84f80_mobile-6.5-3.png/600x0w.png'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple125/v4/d7/de/85/d7de854f-c3b4-269d-9777-0252d4933666/9eef055e-3d6b-4bf0-9ab4-a0d6d9b9055b_mobile-6.5-4.png/600x0w.png'>`Screenshot 4`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple115/v4/1a/cd/2a/1acd2a04-49eb-94f5-fca3-6fc9c1e4ada5/df89351c-147d-457f-ba48-e6765e6a24c2_mobile-6.5-5.png/600x0w.png'>`Screenshot 5`</a>
- `2026` `swift`
- ☆`73`
- [Kickstarter](https://github.com/kickstarter/ios-oss): Where independent creators & passionate backers come together to bring new ideas to life
- [` App Store`](https://apps.apple.com/app/kickstarter/id596961532) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/75/69/8a/75698ab8-816c-5bfe-fb81-f99233bf3852/pr_source.jpg/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/38/a1/50/38a1502f-672f-c6ad-e264-a82cd958bd2c/pr_source.jpg/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple123/v4/ca/cc/9c/cacc9cd5-ba08-7b72-2673-564b7ec281ef/pr_source.jpg/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/cc/71/49/cc71496f-5d16-3b5e-a968-b34f2c802f89/pr_source.jpg/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `swift` `1password` `alamorefire` `stripe` `ios-snapshot-test-case`
- ☆`8624`
- [Kurozora](https://github.com/kurozora/kurozora-app): Official app for discovering and tracking anime, manga, game, music
- [` App Store`](https://apps.apple.com/app/kurozora/id1476153872) <a href='https://github.com/Kurozora/kurozora-app/raw/master/.github/Assets/Screenshots/1.jpg'>`Screenshot 1`</a> <a href='https://github.com/Kurozora/kurozora-app/raw/master/.github/Assets/Screenshots/2.jpg'>`Screenshot 2`</a> <a href='https://github.com/Kurozora/kurozora-app/raw/master/.github/Assets/Screenshots/4.jpg'>`Screenshot 3`</a> <a href='https://github.com/Kurozora/kurozora-app/raw/master/.github/Assets/Screenshots/5.jpg'>`Screenshot 4`</a> <a href='https://github.com/Kurozora/kurozora-app/raw/master/.github/Assets/Screenshots/6.jpg'>`Screenshot 5`</a>
- `2026` `swift` `tron` `ipad` `macos` `anime` `manga` `game` `music` `multilingual` `wiki`
- ☆`68`
- [Mastodon](https://github.com/mastodon/mastodon-ios)
- [` App Store`](https://apps.apple.com/app/mastodon-for-iphone/id1571998974)
- `2026` `swift` `ipad`
- ☆`2244`
- [Nextcloud](https://github.com/nextcloud/ios): A safe home for all your data
- <a href=https://nextcloud.com>`https://nextcloud.com`</a>
- [` App Store`](https://apps.apple.com/app/nextcloud/id1125420102) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple118/v4/f9/87/cb/f987cbdd-1382-b745-1eff-85cf980e673f/pr_source.jpg/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple128/v4/a2/44/89/a2448912-df4f-ac28-a30d-82a9699a9fe4/mzl.bdctkilq.jpg/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/25/ba/7c/25ba7cc2-f9b4-518c-e201-c03bcceffbe1/mzl.fxvipxna.jpg/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple118/v4/8a/dc/14/8adc144f-e5bc-512e-6f1b-5583dd7bb014/mzl.uymqtwli.jpg/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `objc`
- ☆`2354`
- [Nextcloud Talk](https://github.com/nextcloud/talk-ios): Video & audio calls through Nextcloud
- <a href=https://nextcloud.com>`https://nextcloud.com`</a>
- [` App Store`](https://apps.apple.com/app/nextcloud-talk/id1296825574) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple122/v4/e3/82/1e/e3821efd-c7fe-d7ce-1416-a8ddc7b86a23/pr_source.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple128/v4/a8/ba/96/a8ba9621-f390-9fda-27fb-2be07e57ccde/pr_source.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple118/v4/e3/ae/14/e3ae1453-2409-40d9-9d4b-e83da63d7f2c/mzl.luuiuato.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple128/v4/07/0e/98/070e9847-526d-c901-b8fd-d3f50c03a718/mzl.renucwgu.png/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `objc`
- ☆`206`
- [Rainbow](https://github.com/rainbow-me/rainbow): Ethereum wallet that lives in your pocket
- <a href=https://rainbow.me>`https://rainbow.me`</a>
- [` App Store`](https://apps.apple.com/app/rainbow-ethereum-wallet/id1457119021) <a href='https://user-images.githubusercontent.com/4723115/139700145-bb518aef-a815-421b-a504-1f2646ed32bc.png'>`Screenshot 1`</a> <a href='https://user-images.githubusercontent.com/4723115/139700159-5ac0f3cc-8ecf-4b56-a020-e5e848d460e3.png'>`Screenshot 2`</a>
- `2026` `reactnative` `typescript`
- ☆`4310`
- [Signal](https://github.com/signalapp/Signal-iOS): Free, world-wide, private messaging & phone calls
- [` App Store`](https://apps.apple.com/app/id874139669) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/57/62/68/576268bf-3474-99e7-2621-adbf2438b3ce/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/b8/d3/7a/b8d37a2b-3ecc-8775-3ce1-534d0adc2904/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/11/82/fc/1182fc57-5a43-4403-1048-47735d0a75f7/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/65/78/39/6578398d-7204-d380-cf59-783acd3fa859/pr_source.png/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `objc` `iphone` `carthage` `socketrocket` `purelayout` `openssl`
- ☆`11861`
- [Simplenote](https://github.com/automattic/simplenote-ios): Keep notes, lists, ideas & more (sync in the cloud) — includes sharing notes, collaboration
- <a href=https://simplenote.com/>`https://simplenote.com/`</a>
- [` App Store`](https://apps.apple.com/app/simplenote/id289429962) <a href='https://github.com/user-attachments/assets/ff7d9e88-4bd3-4810-aa9e-52c94414cf16'>`Screenshot 1`</a>
- `2026` `1password` `fabric` `crashlytics`
- ☆`2127`
- [Threema](https://github.com/threema-ch/threema-ios): Secure, Anonymous and Private Messenger
- [` App Store`](https://apps.apple.com/app/id578665578) <a href='https://is2-ssl.mzstatic.com/image/thumb/PurpleSource124/v4/6e/0c/05/6e0c054b-24d1-3796-4006-bd5078511a80/aaea1545-ccaf-42d3-8d9a-d3ef27417fa1_iphon65_4.6-en_us-01-promo.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource124/v4/ee/f1/59/eef15998-8309-3e8b-b047-a8614645e30f/87522c7d-2998-41e2-882e-ea3f636ded44_iphon65_4.6-en_us-02-promo.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/PurpleSource114/v4/2b/7b/87/2b7b8738-4ce9-dddf-24ff-73c9949e530e/ca775975-4ea7-4aa9-bf12-e5e012b53f72_iphon65_4.6-en_us-03-promo.png/460x0w.png'>`Screenshot 3`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/PurpleSource124/v4/6d/98/75/6d98752c-9602-a893-ec7b-03a9f93f9985/69f7a9d4-0416-4d4c-9bad-d3de10d9da31_iphon65_4.6-en_us-04-promo.png/460x0w.png'>`Screenshot 4`</a>
- `2025` `swift` `objc`
- ☆`408`
- [Ultralytics YOLO](https://github.com/ultralytics/yolo-ios-app): Ultralytics vision and AI
- <a href=https://www.ultralytics.com/yolo>`https://www.ultralytics.com/yolo`</a>
- [` App Store`](https://apps.apple.com/app/ultralytics-yolo/id1452689527) <a href='https://github.com/user-attachments/assets/d5dab2e7-f473-47ce-bc63-69bef89ba52a'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`440`
- [VLC](https://github.com/videolan/vlc): Media Player
- <a href=https://www.videolan.org/>`https://www.videolan.org/`</a>
- [` App Store`](https://apps.apple.com/app/vlc-for-ios/id650377962) <a href='https://user-images.githubusercontent.com/4723115/146823429-c85f22c0-e757-48c0-ba54-0930ed1769bc.png'>`Screenshot 1`</a>
- `2026` `objc` `ipad`
- ☆`17681`
- [Wikipedia](https://github.com/wikimedia/wikipedia-ios): Official Wikipedia app
- [` App Store`](https://apps.apple.com/app/wikipedia-mobile/id324715238) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/ce/66/0c/ce660cad-9495-8b63-bb6d-c75622b75333/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/4a/80/07/4a800728-ff89-81ad-eaad-5f7ce92d8a4c/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/e4/96/48/e49648cf-eb1f-89ac-376e-ca83e43a51e9/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/d5/37/2a/d5372ad3-37b4-e9dd-2506-c5b49e374df1/pr_source.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/3b/61/e4/3b61e4cc-e063-519b-82de-cafa39650512/pr_source.png/460x0w.jpg'>`Screenshot 5`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple123/v4/19/c2/3e/19c23e96-1498-893f-7112-672201f2610e/pr_source.png/460x0w.jpg'>`Screenshot 6`</a>
- `2026` `swift`
- ☆`3341`
- [Wire](https://github.com/wireapp/wire-ios): Modern, private communications with crystal clear voice, video, group chats - always encrypted
- [` App Store`](https://apps.apple.com/app/wire/id930944768) <a href='https://cdn-images-1.medium.com/v2/resize:fit:800/1*CEtofzY1rIOKuGT7JO3VkA.png'>`Screenshot 1`</a>
- `2026` `swift` `carthage` `afnetworking` `purelayout`
- ☆`111`
- [WordPress](https://github.com/wordpress-mobile/WordPress-iOS): Official WordPress app
- [` App Store`](https://apps.apple.com/app/wordpress/id335703880) <a href='https://mobiledotblog.files.wordpress.com/2019/10/690x0w.jpg'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`3850`
## Productivity
[back to top](#readme)
- [Foqos](https://github.com/awaseem/foqos): Block distractions, lock apps behind the tap of a NFC tag
- [` App Store`](https://apps.apple.com/app/foqos/id6736793117) <a href='https://www.foqos.app/assets/screenshot.jpg'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`354`
- [LibreOffice Remote for Impress](https://git.libreoffice.org/impress_remote/): Interact with [LibreOffice](https://www.libreoffice.org/) slideshows remotely
- [` App Store`](https://apps.apple.com/app/id806879890) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple4/v4/db/30/13/db301357-71d6-46b1-1eb1-153076a3dcde/mzl.lgwcughc.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple6/v4/d9/80/ba/d980ba2c-ee74-912d-ed69-31e6ee8e4a13/mzl.aheiwncb.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple/v4/be/3c/db/be3cdbb6-2a30-2d5f-898f-4d7f71112c9b/mzl.ctjthyav.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple4/v4/d5/a5/d8/d5a5d8fd-7d20-129d-c1a2-6aa46943bd6c/mzl.xqnovjbn.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple/v4/3b/f0/0b/3bf00b84-d0f5-f502-d00a-f624d4f58f89/mzl.sdjokgxw.png/460x0w.jpg'>`Screenshot 5`</a>
- `objc`
- [PomPadDo](https://github.com/amikhaylin/pompaddo): A personal task manager / planner
- [` App Store`](https://apps.apple.com/app/id6742197499) <a href='https://github.com/amikhaylin/pompaddo/raw/master/page-pix/mac-today.png'>`Screenshot 1`</a> <a href='https://github.com/amikhaylin/pompaddo/raw/master/page-pix/mac-project.png'>`Screenshot 2`</a> <a href='https://github.com/amikhaylin/pompaddo/raw/master/page-pix/mac-timer.png'>`Screenshot 3`</a> <a href='https://github.com/amikhaylin/pompaddo/raw/master/page-pix/iphone-today.png'>`Screenshot 4`</a> <a href='https://github.com/amikhaylin/pompaddo/raw/master/page-pix/iphone-section.png'>`Screenshot 5`</a> <a href='https://github.com/amikhaylin/pompaddo/raw/master/page-pix/iphone-project.png'>`Screenshot 6`</a> <a href='https://github.com/amikhaylin/pompaddo/raw/master/page-pix/watch-today.png'>`Screenshot 7`</a> <a href='https://github.com/amikhaylin/pompaddo/raw/master/page-pix/watch-section.png'>`Screenshot 8`</a> <a href='https://github.com/amikhaylin/pompaddo/raw/master/page-pix/watch-menu.png'>`Screenshot 9`</a>
- `2026` `swift` `swiftui` `swiftdata`
- ☆`31`
## Sample
[back to top](#readme)
## Scan
[back to top](#readme)
- [QR Share Pro](https://github.com/Visual-Studio-Coder/QR-Share-Pro): Privacy-focused, allows you to scan, generate, and share QR codes effortlessly
- [` App Store`](https://apps.apple.com/app/qr-share-pro/id6479589995) <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/e0/cf/95/e0cf9583-2545-efa1-942c-8d7857bb3696/d729913c-d19b-4900-9829-2902ea163d47_iPhone_14__U0026_15_Pro_Max_5__U00281_U0029.png/460x0w.webp'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/2d/d4/07/2dd407be-1619-add1-e5c9-1e98a7b6e2ad/45359dbe-2d34-4ebb-9335-38f3dd332dd0_iPhone_14__U0026_15_Pro_Max_6.png/460x0w.webp'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/c9/37/73/c9377339-a70e-d9e8-7167-27e67b36af3b/1b0d7659-1e57-4a74-a1a7-aff92576fc91_iPhone_14__U0026_15_Pro_Max_7.png/460x0w.webp'>`Screenshot 3`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/42/c5/1b/42c51b1d-9993-1fd3-da81-dd54b26e573e/4304ffd3-6040-4899-b8bf-94ebc0a84479_iPhone_14__U0026_15_Pro_Max_8.png/460x0w.webp'>`Screenshot 4`</a>
- `2025` `swift`
- ☆`39`
- [Scan Now](https://github.com/WezSieTato/ScanNow): Fast and simple document scanning
- [` App Store`](https://apps.apple.com/app/scan-now/id1660940489)
- `2026` `swift` `swiftui` `visionkit` `pdf` `productivity` `ipad`
- ☆`57`
## Security
[back to top](#readme)
- [DNSCloak](https://github.com/s-s/dnscloak): Override & secure DNS queries
- [` App Store`](https://apps.apple.com/app/dnscloak-secure-dns-client/id1452162351)
- `2020` `objc` `cordova`
- ☆`350`
- [Hasha](https://github.com/LemonPepperSeasoning/Hasher): SHA-256 Hash collision computer
- [` App Store`](https://apps.apple.com/app/hasha/id6443560907) <a href='https://is4-ssl.mzstatic.com/image/thumb/PurpleSource122/v4/59/cb/9e/59cb9eee-457c-e149-11d6-e84f39928147/1c3e71e3-2067-4f4c-9c60-aa4c9f8768d5_simulator_screenshot_224F753E-E5E4-4A19-80CC-ABDDDFDB7732.png/600x0w.webp'>`Screenshot 1`</a>
- `2022`
- ☆`2`
- [HTTPS4All](https://github.com/bouk/HTTPS4All): Port of HTTPS Everywhere to force (most) links to use HTTPS
- [` App Store`](https://apps.apple.com/app/https4all/id1305430042)
- `2020` `swift`
- ☆`40`
- [IVPN](https://github.com/ivpn/ios-app)
- [` App Store`](https://apps.apple.com/app/ivpn-secure-vpn-for-privacy/id1193122683) <a href='https://github.com/user-attachments/assets/b3db260b-3c94-4913-90c1-25f6c2e771f1'>`Screenshot 1`</a>
- `2026` `swift` `ipad`
- ☆`547`
- [Keybase](https://github.com/keybase/client)
- [` App Store`](https://apps.apple.com/app/keybase-crypto-for-everyone/id1044461770)
- `2026` `react-native`
- ☆`9171`
- [LegitURL](https://github.com/sigfault-byte/LegitURL): Scan links for safety. no AI, no internet
- [` App Store`](https://apps.apple.com/app/legiturl/id6745583794) <a href='https://github.com/sigfault-byte/LegitURL/blob/main/AppPreview/LegitURL_demo.gif?raw=true'>`Screenshot 1`</a>
- `2025` `swift`
- ☆`15`
- [Lockdown](https://github.com/confirmedcode/lockdown-ios): Firewall for your device
- <a href=https://lockdownprivacy.com>`https://lockdownprivacy.com`</a>
- [` App Store`](https://apps.apple.com/app/lockdown-apps/id1469783711) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/b2e713a8-4cf2-41e9-8ddc-fa87a2ea5282'>`Screenshot 1`</a>
- `2025` `swift`
- ☆`945`
- [Mullvad VPN](https://github.com/mullvad/mullvadvpn-app)
- [` App Store`](https://apps.apple.com/us/app/mullvad-vpn/id1488466513) <a href='https://mullvad.net/media/uploads/2020/04/08/mullvad-vpn-ios-connected.PNG'>`Screenshot 1`</a> <a href='https://mullvad.net/media/uploads/2020/04/08/mullvad-vpn-ios-login.PNG'>`Screenshot 2`</a> <a href='https://mullvad.net/media/uploads/2020/04/08/mullvad-vpn-ios-location-server.PNG'>`Screenshot 3`</a>
- `2026` `swift`
- ☆`6775`
- [Orbot VPN](https://github.com/guardianproject/orbot-apple)
- [` App Store`](https://apps.apple.com/app/orbot/id1609461599)
- `2026` `swift`
- ☆`285`
- [Passepartout](https://github.com/partout-io/passepartout): User-friendly OpenVPN app
- [` App Store`](https://apps.apple.com/app/passepartout-vpn-client/id1433648537) <a href='https://github.com/user-attachments/assets/c57fbc5f-07fa-418f-abdf-43befda35af2'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`1226`
- [Prey](https://github.com/prey/prey-ios-client): Track lost or stolen devices & perform actions remotely
- <a href=https://preyproject.com/>`https://preyproject.com/`</a>
- [` App Store`](https://apps.apple.com/app/id456755037) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/da/26/c7/da26c749-b889-37a7-9e2f-62c73bcfba3d/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/a1/89/75/a18975f9-b682-9c9b-5f2e-96389f66fec6/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/87/60/24/876024e2-5338-26c9-7e08-7415068a08e0/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/a5/1d/29/a51d297d-74c8-4086-7585-263c2c1ea494/pr_source.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/df/a7/52/dfa7524e-313e-ff82-d615-f95cd5149dc9/pr_source.png/460x0w.jpg'>`Screenshot 5`</a>
- `2026` `objc`
- ☆`288`
- [ProtonMail](https://github.com/ProtonMail/ios-mail): Encrypted Email
- <a href=https://protonmail.com/>`https://protonmail.com/`</a>
- [` App Store`](https://apps.apple.com/app/id979659905) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/1d/c0/ba/1dc0bacb-bd7e-bfb3-4a14-ab9cdfd6336d/pr_source.png/460x0w.png'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/9c/e3/23/9ce32347-1f99-dfa0-2434-c032e6264eda/pr_source.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/11/33/5c/11335cff-69e3-6a55-3248-ebe2e98c4e87/pr_source.png/460x0w.png'>`Screenshot 3`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple113/v4/bc/08/4b/bc084bb4-d8d1-26aa-606f-03de254a345d/pr_source.png/460x0w.png'>`Screenshot 4`</a>
- `2026` `swift` `iphone` `ipad` `dompurify` `afnetworking` `flanimatedimage`
- ☆`1562`
- [ProtonVPN](https://github.com/ProtonVPN/ios-mac-app)
- <a href=https://protonvpn.com/>`https://protonvpn.com/`</a>
- [` App Store`](https://apps.apple.com/app/id1437005085) <a href='https://user-images.githubusercontent.com/4723115/137601688-ab7d6dbf-46c3-42f7-9b87-ea5e6d9896ea.png'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`545`
- [SimpleLogin](https://github.com/simple-login/Simple-Login-iOS): Protect your email with aliases and more. Its Share Extension helps you create aliases on the fly without leaving your favorite browser
- <a href=https://simplelogin.io/>`https://simplelogin.io/`</a>
- [` App Store`](https://apps.apple.com/app/simplelogin-anti-spam/id1494359858) <a href='https://raw.githubusercontent.com/ntnhon/TarotCodexPublicImages/master/SL/1.png'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`165`
- [Tofu Authenticator](https://github.com/iKenndac/Tofu): Easy-to-use two-factor authentication
- [` App Store`](https://apps.apple.com/app/tofu-authenticator/id1082229305) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/2c5a3cce-9c17-4c58-b71d-0ac2a990848b'>`Screenshot 1`</a>
- `2024` `swift` `2fa`
- ☆`529`
- [Tutanota](https://github.com/tutao/tutanota): End-to-end encrypted email
- <a href=https://tutanota.com/>`https://tutanota.com/`</a>
- [` App Store`](https://apps.apple.com/app/id922429609) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/9e/10/b6/9e10b656-8e6e-b4b8-bdce-5f787f12d25e/mzl.utcbsrcn.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple113/v4/40/cc/5f/40cc5f60-4d7a-cb19-ddb5-fb9e92de9205/mzl.xpwjvrke.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/a8/c5/a2/a8c5a2de-33fc-1fad-7f5d-3f1579bc3fc3/mzl.xvkhmgab.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/be/32/0a/be320a6b-a860-a359-5c33-38bba742aef1/mzl.vgjqcasc.png/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `javascript` `cordova` `iphone` `ipad`
- ☆`7303`
- [WireGuard](https://github.com/WireGuard/wireguard-apple): WireGuard: fast, modern, secure VPN tunnel (less battery consumption than OpenVPN)
- [` App Store`](https://apps.apple.com/app/wireguard/id1441195209) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/f9e45058-bd35-4626-b5c9-12f8ba174f63'>`Screenshot 1`</a>
- `2024` `swift`
- ☆`1251`
### Password
[back to top](#readme)
- [Authenticator](https://github.com/mattrubin/authenticator): Simple two-factor authentication with a clean UI
- <a href=https://mattrubin.me/authenticator/>`https://mattrubin.me/authenticator/`</a>
- [` App Store`](https://apps.apple.com/app/id766157276) <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/89/b8/5b/89b85bf2-395f-6b30-a62b-48cfa15803ab/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/8f/78/ae/8f78aefc-9fb3-ed73-d5d8-ee768073869d/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/2f/b0/11/2fb0114c-bce3-0122-9871-0bb88a95802d/pr_source.png/460x0w.jpg'>`Screenshot 3`</a>
- `2026` `swift` `2fa`
- ☆`867`
- [Bitwarden](https://github.com/bitwarden/ios): Password Manager and Authenticator
- <a href=https://bitwarden.com>`https://bitwarden.com`</a>
- [` App Store`](https://apps.apple.com/app/bitwarden-free-password-manager/id1137397744) <a href='https://raw.githubusercontent.com/bitwarden/ios/main/.github/images/ios-dark.png'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`515`
- [Chronos Authenticator 2FA](https://github.com/joeldavidw/Chronos)
- [` App Store`](https://apps.apple.com/app/chronos-authenticator/id6503929490) <a href='https://github.com/joeldavidw/Chronos/raw/main/.github/assets/previews/4.png?raw=true'>`Screenshot 1`</a>
- `2026` `swift` `2fa`
- ☆`33`
- [FreeOTP Authenticator](https://github.com/freeotp/freeotp-ios): Two-Factor Authentication
- [` App Store`](https://apps.apple.com/app/freeotp/id872559395) <a href='https://user-images.githubusercontent.com/4723115/146823923-adf76295-18e8-43e5-8d75-27ef5a8c0822.png'>`Screenshot 1`</a>
- `2025` `swift` `2fa` `moa`
- ☆`746`
- [KeePassium](https://github.com/keepassium/KeePassium): KeePass-compatible password manager with support for automatic database synchronization, respect to privacy and premium user experience
- <a href=https://keepassium.com/>`https://keepassium.com/`</a>
- [` App Store`](https://apps.apple.com/app/keepassium-password-manager/id1435127111) <a href='https://keepassium.com/img/github/unlock-db_w250.png'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`1527`
- [MasterPassword](https://github.com/Lyndir/MasterPassword): Stateless password management solution
- [` App Store`](https://apps.apple.com/app/id510296984) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple111/v4/89/49/07/894907ae-8b58-5b87-f682-d813bf2f2e92/mzl.omnsgxug.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple91/v4/fa/80/dd/fa80ddf0-ebe9-34ad-1c94-a249c1a70a73/mzl.zedxpqsy.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple111/v4/fc/98/37/fc98372a-6d4e-571e-1155-8dd8ecb3df54/mzl.auefrfoz.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple122/v4/f2/a6/a2/f2a6a2ca-9e07-0e7b-d639-5e2914e61d29/mzl.uhuhbzbi.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple111/v4/4d/76/85/4d76856f-0b5c-ec97-2650-24846cf34217/mzl.obzgvqoe.png/460x0w.jpg'>`Screenshot 5`</a>
- `2022` `objc`
- ☆`1136`
- [OakOTP](https://github.com/AlexCatch/Oak): Two-Factor Authentication app built with SwiftUI
- [` App Store`](https://apps.apple.com/app/oakotp/id1567761178) <a href='https://raw.githubusercontent.com/AlexCatch/Oak/master/DesignAssets/accounts.png'>`Screenshot 1`</a> <a href='https://github.com/AlexCatch/Oak/raw/master/DesignAssets/setup.png'>`Screenshot 2`</a> <a href='https://github.com/AlexCatch/Oak/raw/master/DesignAssets/new.png'>`Screenshot 3`</a>
- `2025` `swift` `2fa` `cloudkit` `core-data`
- ☆`32`
- [Pass](https://github.com/mssun/passforios): Client for the Pass command line app https://www.passwordstore.org/
- <a href=https://mssun.github.io/passforios/>`https://mssun.github.io/passforios/`</a>
- [` App Store`](https://apps.apple.com/app/pass-password-store/id1205820573) <a href='https://raw.githubusercontent.com/mssun/passforios/master/img/screenshot1.png'>`Screenshot 1`</a> <a href='https://raw.githubusercontent.com/mssun/passforios/master/img/screenshot2.png'>`Screenshot 2`</a> <a href='https://raw.githubusercontent.com/mssun/passforios/master/img/screenshot3.png'>`Screenshot 3`</a> <a href='https://raw.githubusercontent.com/mssun/passforios/master/img/screenshot4.png'>`Screenshot 4`</a>
- `2026` `swift` `carthage` `keychainaccess` `onetimepassword`
- ☆`1611`
- [Strongbox](https://github.com/strongbox-password-safe/Strongbox): A Safe Client for KeePass/Password
- <a href=https://strongboxsafe.com/>`https://strongboxsafe.com/`</a>
- [` App Store`](https://apps.apple.com/app/strongbox-password-safe/id897283731) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/77/67/c3/7767c3b9-09f8-8af0-3389-a01f4a3b3265/mzl.wkjuejow.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/4a/55/08/4a5508a9-e74c-8cac-8499-c09f375c205c/mzl.rimzypzn.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/d2/9b/58/d29b58d3-30a2-9bfc-7c11-dac8d281bf43/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple113/v4/89/fe/33/89fe3374-808d-7583-b4de-ec24198506a1/mzl.xdysdjdb.png/460x0w.jpg'>`Screenshot 4`</a>
- `2025` `objc`
- ☆`1426`
## Shopping
[back to top](#readme)
- [OpenShop.io](https://github.com/openshopio/openshop.io-ios)
- [` App Store`](https://apps.apple.com/app/openshop-io/id1250327932) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/73/69/85/73698567-5cab-f880-98fc-2d8ed66dbe40/mzl.dmuxskhb.jpg/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple118/v4/df/db/08/dfdb08af-c9bf-bf5c-dba7-160112403315/mzl.sthehrds.jpg/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple118/v4/3c/81/17/3c811783-8c5a-196a-484f-3653c688e288/mzl.eogwkzlb.jpg/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple128/v4/c7/5d/05/c75d053d-97e1-7734-ed0c-f6b8e3187a15/mzl.ylqpisof.jpg/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple118/v4/50/d6/ed/50d6ed5b-7919-bb1c-e129-eb78a8abf542/mzl.mlzjazoh.jpg/460x0w.jpg'>`Screenshot 5`</a>
- `2019` `objc`
- ☆`374`
- [Shlist](https://github.com/pointspy/shlist): Shopping list
- [` App Store`](https://apps.apple.com/app/shlist/id1551533470) <a href='https://github.com/pointspy/shlist/blob/master/images/image1.png'>`Screenshot 1`</a> <a href='https://github.com/pointspy/shlist/blob/master/images/image2.png'>`Screenshot 2`</a> <a href='https://github.com/pointspy/shlist/blob/master/images/image3.png'>`Screenshot 3`</a> <a href='https://github.com/pointspy/shlist/blob/master/images/image4.png'>`Screenshot 4`</a>
- `2021` `swift` `ipad`
- ☆`17`
- [WooCommerce](https://github.com/woocommerce/woocommerce-ios): Manage orders, receive sales notifications, and view key metrics
- [` App Store`](https://apps.apple.com/app/id1389130815) <a href='https://docs.woocommerce.com/wp-content/uploads/2019/01/mystore-ios.png'>`Screenshot 1`</a>
- `2026` `swift`
- ☆`357`
## Social
[back to top](#readme)
- [Bluesky Social](https://github.com/bluesky-social/social-app)
- [` App Store`](https://apps.apple.com/app/bluesky-social/id6444370199) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/8a73b9fb-4708-4ce5-b241-bb8da41feebd'>`Screenshot 1`</a>
- `2026` `typescript` `react-native`
- ☆`17712`
- [Critical Maps](https://github.com/criticalmaps/criticalmaps-ios): Organise the monthly critical mass movement around the world
- <a href=https://www.criticalmaps.net>`https://www.criticalmaps.net`</a>
- [` App Store`](https://apps.apple.com/app/critical-maps/id918669647) <a href='https://github.com/user-attachments/assets/714ed171-9871-4ca3-8db9-45740fc55972'>`Screenshot 1`</a>
- `2026` `swift` `swiftui` `combine` `tca` `snapshottesting`
- ☆`311`
### Mastodon
https://joinmastodon.org — [back to top](#readme)
- [Tusker](https://git.shadowfacts.net/shadowfacts/Tusker)
- <a href=https://vaccor.space/tusker/>`https://vaccor.space/tusker/`</a>
- [` App Store`](https://apps.apple.com/app/tusker/id1498334597) <a href='https://vaccor.space/tusker/img/tusker-light.png'>`Screenshot 1`</a>
- `swift` `pleroma`
## Tasks
[back to top](#readme)
- [Habitica](https://github.com/HabitRPG/habitica-ios): Habit building & productivity
- <a href=https://habitica.com/static/home>`https://habitica.com/static/home`</a>
- [` App Store`](https://apps.apple.com/app/id994882113) <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple123/v4/bf/34/34/bf343412-6b20-bb34-9e7f-36311bc5ec45/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple113/v4/51/40/88/514088ab-8a5c-b2fd-275d-d4edb1ab584a/pr_source.png/460x0w.jpg'>`Screenshot 2`</a> <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/c1/97/fb/c197fba5-e41d-6d6d-fac3-a196ce9e126e/pr_source.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple113/v4/39/40/dc/3940dcb3-3d49-a328-2926-c03f40f12594/pr_source.png/460x0w.jpg'>`Screenshot 4`</a>
- `2026` `objc`
- ☆`825`
- [Habo](https://github.com/xpavle00/Habo): Minimalistic habit tracker
- <a href=https://habo.space>`https://habo.space`</a>
- [` App Store`](https://apps.apple.com/us/app/habo-habit-tracker/id1670223360) <a href='https://habo.space/images/mockups/mockup2_hu_128f21691bd29adf.webp'>`Screenshot 1`</a>
- `2026` `flutter` `dart`
- ☆`1218`
- [Table Habit](https://github.com/FriesI23/mhabit): Offline-first micro-habit tracker
- <a href=https://testflight.apple.com/join/aJ5PWqaR>`https://testflight.apple.com/join/aJ5PWqaR`</a>
- [` App Store`](https://apps.apple.com/app/table-habit/id6744886469) <a href='https://github.com/user-attachments/assets/4e5d2110-52fa-430d-a956-1027c98cd5e9'>`Screenshot 1`</a>
- `2026` `flutter` `dart`
- ☆`1218`
## Text
[back to top](#readme)
- [Edhita](https://github.com/tnantoka/edhita): Text editor
- [` App Store`](https://apps.apple.com/app/edhita-open-source-text-editor/id398896655) <a href='https://is4-ssl.mzstatic.com/image/thumb/Purple71/v4/ab/43/71/ab437113-1e03-517f-837e-73430970acb5/pr_source.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is5-ssl.mzstatic.com/image/thumb/Purple71/v4/8e/47/f1/8e47f1a1-51b5-1ebe-f2c1-d9557260fbdc/pr_source.png/460x0w.jpg'>`Screenshot 2`</a>
- `2026` `swift`
- ☆`1385`
- [iVim](https://github.com/terrychou/iVim): A vim port
- [` App Store`](https://apps.apple.com/app/ivim/id1266544660) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple118/v4/6c/f0/84/6cf08431-01bb-aacb-27f2-bcc769a8511e/pr_source.png/230x0w.jpg'>`Screenshot 1`</a>
- `2020` `c` `vim-script`
- ☆`631`
- [TypeStyle](https://github.com/tapmoko/typestyle): Stylize your text and add decorations
- <a href=https://typestyle.app>`https://typestyle.app`</a>
- [` App Store`](https://apps.apple.com/app/typestyle/id1441019779) <a href='https://raw.githubusercontent.com/ebelinski/typestyle-ios/master/media/iphone-x-screenshots.png'>`Screenshot 1`</a>
- `2023` `swift` `ipad`
- ☆`39`
### Notes
[back to top](#readme)
- [FSNotes](https://github.com/glushchenko/fsnotes): Notes manager
- [` App Store`](https://apps.apple.com/app/fsnotes-manager/id1346501102) <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple128/v4/f9/72/00/f972005b-5a6b-fc54-b68e-f6a704f82f1f/mzl.kxlcltgy.png/460x0w.jpg'>`Screenshot 1`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple128/v4/ee/fd/a8/eefda80f-f32b-94e4-27f3-e4a3fa8b1079/pr_source.png/460x0w.png'>`Screenshot 2`</a> <a href='https://is1-ssl.mzstatic.com/image/thumb/Purple128/v4/95/a0/73/95a0739c-7e40-2e7d-787b-52e59b3d8581/mzl.srqiktcn.png/460x0w.jpg'>`Screenshot 3`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple128/v4/0e/b1/61/0eb1619e-2e6a-234f-06a6-eefafcad478c/mzl.ihcrhigp.png/460x0w.jpg'>`Screenshot 4`</a> <a href='https://is3-ssl.mzstatic.com/image/thumb/Purple128/v4/60/09/11/60091180-1755-60ca-b390-3223f4ac8b34/mzl.vbvqksns.png/460x0w.jpg'>`Screenshot 5`</a>
- `2026` `swift`
- ☆`7230`
- [Joplin](https://github.com/laurent22/joplin): Note taking and to-do with synchronisation capabilities
- <a href=https://joplinapp.org/>`https://joplinapp.org/`</a>
- [` App Store`](https://apps.apple.com/app/joplin/id1315599797) <a href='https://is2-ssl.mzstatic.com/image/thumb/Purple128/v4/db/aa/50/dbaa50be-e23a-d283-da53-f8cd9528c169/pr_source.jpg/300x0w.jpg'>`Screenshot 1`</a>
- `2026` `react-native`
- ☆`53508`
- [Jotify](https://github.com/leathalman/Jotify): Quick note taking
- [` App Store`](https://apps.apple.com/app/jotify/id1469983730) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/b5890d4b-813c-4802-b75a-d5f7c8fe6d49'>`Screenshot 1`</a>
- `2022` `swift` `ipad`
- ☆`172`
- [Logger](https://github.com/nathanborror/logger): Quickly send messages to yourself as a means of note taking
- [` App Store`](https://apps.apple.com/app/logger-notes/id1364248334) <a href='https://github.com/nathanborror/logger/raw/master/static/2021-03-29%20Logger.png?raw=true'>`Screenshot 1`</a>
- `2021` `swift` `go` `golang`
- ☆`72`
- [Logseq](https://github.com/logseq/logseq): Outliner that works on top of local plain-text Markdown and Org-mode files
- [` App Store`](https://apps.apple.com/app/logseq/id1601013908) <a href='https://github.com/dkhamsing/open-source-ios-apps/assets/4723115/79fd777e-caf7-4021-badf-8b5ca12b9a7a'>`Screenshot 1`</a>
- `2026` `react-native`
- ☆`41135`
- [Loose Leaf](https://github.com/adamwulf/loose-leaf): Take notes, import & annotate PDFs, manipulate imported photos with intuitive gestures
- [` App Store`](https://apps.apple.com/app/loose-leaf/id625659452) <a href='https://github.com/adamwulf/loose-leaf/blob/master/example-gif/collapse-stack.gif?raw=true'>`Screenshot 1`</a>
- `2023` `ipad` `pdf` `apple pencil`
- ☆`655`
- [Notesnook](https://github.com/streetwriters/notesnook): End-to-end encrypted and private note taking alternative to Evernote
- <a href=https://notesnook.com>`https://notesnook.com`</a>
- [` App Store`](https://apps.apple.com/app/notesnook-keep-notes-private/id1544027013) <a href='https://github.com/streetwriters/notesnook/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/1.jpg?raw=true'>`Screenshot 1`</a> <a href='https://github.com/streetwriters/notesnook/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/2.jpg?raw=true'>`Screenshot 2`</a> <a href='https://github.com/streetwriters/notesnook/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/3.jpg?raw=true'>`Screenshot 3`</a> <a href='https://github.com/streetwriters/notesnook/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/4.jpg?raw=true'>`Screenshot 4`</a> <a href='https://github.com/streetwriters/notesnook/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/5.jpg?raw=true'>`Screenshot 5`</a> <a href='https://github.com/streetwriters/notesnook/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/6.jpg?raw=true'>`Screenshot 6`</a> <a href='https://github.com/streetwriters/notesnook/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/7.jpg?raw=true'>`Screenshot 7`</a>
- `2026` `react-native`
- ☆`13703`
- [Pet Note](https://github.com/XunMengWinter/PetNote-oss): Record the life of pets
- [` App Store`](https://apps.apple.com/app/id6657973126) <a href='https://mymx2-oss.oss-cn-shanghai.aliyuncs.com/doc/img-aichongshe-oss-demo.jpg'>`Screenshot 1`</a>
- `2025` `swift` `swiftui`
- ☆`115`
- [Saber](https://github.com/saber-notes/saber): Take handwritten notes with the same functionalities as typed ones
- [` App Store`](https://apps.apple.com/app/saber-handwritten-notes/id1671523739) <a href='https://raw.githubusercontent.com/saber-notes/saber/main/metadata/en-US/images/phoneScreenshots/1_home.png'>`Screenshot 1`</a> <a href='https://raw.githubusercontent.com/saber-notes/saber/main/metadata/en-US/images/phoneScreenshots/2_editor.png'>`Screenshot 2`</a> <a href='https://raw.githubusercontent.com/saber-notes/saber/main/metadata/en-US/images/phoneScreenshots/3_login.png'>`Screenshot 3`</a> <a href='https://raw.githubusercontent.com/saber-notes/saber/main/metadata
gitextract_p7dryf9v/ ├── .circleci/ │ └── config.yml ├── .github/ │ ├── CONTRIBUTING.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── deploy.sh │ ├── inspect.rb │ ├── osia_category_list.rb │ ├── osia_convert.rb │ ├── osia_get_history.rb │ ├── osia_get_lic.rb │ ├── osia_get_links.rb │ ├── osia_helper.rb │ ├── osia_history_missing.rb │ ├── osia_screenshots_missing.rb │ ├── osia_tweet_clean.rb │ ├── osia_update_github.rb │ ├── osia_update_history.rb │ ├── osia_update_lic.rb │ ├── osia_validate_categories.rb │ ├── schema.json │ └── workflows/ │ └── ruby.yml ├── .gitignore ├── APPSTORE.md ├── ARCHIVE.md ├── LATEST.md ├── LICENSE ├── README.md └── contents.json
SYMBOL INDEX (16 symbols across 5 files) FILE: .github/osia_convert.rb function app_store_total (line 19) | def app_store_total(j) function apps_archived (line 40) | def apps_archived(apps) function apps_for_cat (line 45) | def apps_for_cat(apps, id) function apps_latest (line 63) | def apps_latest(apps, num) function apps_updated (line 71) | def apps_updated(apps, num) function output_apps (line 79) | def output_apps(apps, appstoreonly) function output_badges (line 174) | def output_badges(count, twitter) function write_archive (line 189) | def write_archive(j, subtitle) function write_latest (line 213) | def write_latest(j, num, sub1, sub2) function write_list (line 253) | def write_list(j, file, subtitle, appstoreonly = false) FILE: .github/osia_get_links.rb function apps_archived (line 7) | def apps_archived(apps) FILE: .github/osia_helper.rb function get_json (line 5) | def get_json function osia_allowed_categories (line 9) | def osia_allowed_categories(c) FILE: .github/osia_update_history.rb function get_author (line 8) | def get_author(a) FILE: .github/osia_validate_categories.rb function failed (line 7) | def failed(cat, app) function verify (line 12) | def verify(cat, allowed, app)
Condensed preview — 27 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,922K chars).
[
{
"path": ".circleci/config.yml",
"chars": 2498,
"preview": "version: 2\njobs:\n build:\n working_directory: ~/dkhamsing/open-source-ios-apps\n parallelism: 1\n shell: /bin/bas"
},
{
"path": ".github/CONTRIBUTING.md",
"chars": 666,
"preview": "To contribute to`open-source-ios-apps`, update the **contents.json** file (this will generate the README).\n\nA new entry "
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 1177,
"preview": "<!-- Thanks for contributing to open-source-ios-apps 😊\n\n⚠️ Please do not edit the README, instead make changes to conten"
},
{
"path": ".github/deploy.sh",
"chars": 712,
"preview": "#!/bin/bash\n\nset -e\n\ngit config user.name \"READMEbot\"\ngit config user.email \"readmebot@users.noreply.github.com\"\n\nstatus"
},
{
"path": ".github/inspect.rb",
"chars": 221,
"preview": "require 'json'\nrequire 'pp'\n\nif ARGV.count == 0\n puts \"Usage: ruby inspect.rb <project number>\"\n exit\nend\n\nc = File.re"
},
{
"path": ".github/osia_category_list.rb",
"chars": 116,
"preview": "require_relative 'osia_helper'\n\nj = get_json\nc = j['categories']\n\nosia_allowed_categories(c).each { |cat| puts cat }"
},
{
"path": ".github/osia_convert.rb",
"chars": 6935,
"preview": "require_relative 'osia_helper'\nrequire 'date'\n\n# Constants\n\nREADME = 'README.md'\nARCHIVE = 'ARCHIVE.md'\nAPPSTORE = 'APPS"
},
{
"path": ".github/osia_get_history.rb",
"chars": 399,
"preview": "require_relative 'osia_helper'\n\nHISTORY = 'git_history'\n\nj = get_json\napps = j['projects']\n\nh = {}\napps.each_with_index "
},
{
"path": ".github/osia_get_lic.rb",
"chars": 343,
"preview": "require 'octokit'\nrequire 'awesome_print'\n\ng = ARGV[0]\n\nif g.nil?\n puts \"Usage: get_lic <repo> \\n i.e. get_lic dkhamsi"
},
{
"path": ".github/osia_get_links.rb",
"chars": 1179,
"preview": "require_relative 'osia_helper'\n\nUNIQUES = 'check-unique.txt' # should be unique\nLINKS = 'check-links.txt' # allow dup"
},
{
"path": ".github/osia_helper.rb",
"chars": 172,
"preview": "require 'json'\n\nFILE = 'contents.json'\n\ndef get_json\n JSON.parse(File.read FILE)\nend\n\ndef osia_allowed_categories(c)\n "
},
{
"path": ".github/osia_history_missing.rb",
"chars": 195,
"preview": "require_relative 'osia_helper'\n\nj = get_json\napps = j['projects']\n\ni = 0\napps.each do |a|\n if a['date_added'].nil?\n "
},
{
"path": ".github/osia_screenshots_missing.rb",
"chars": 443,
"preview": "require_relative 'osia_helper'\n\nj = get_json\napps = j['projects']\n\ni = 0\napps.select {|a| a['screenshots'].nil? }.each d"
},
{
"path": ".github/osia_tweet_clean.rb",
"chars": 523,
"preview": "require 'delete_my_tweets'\n\nc = {\n \"consumer_key\" => \"X7TNI7gi1Bo3l3hRwShZr6Q5l\",\n \"consumer_se"
},
{
"path": ".github/osia_update_github.rb",
"chars": 754,
"preview": "require_relative 'osia_helper'\n\nrequire 'octokit'\nrequire 'netrc'\n\nclient = Octokit::Client.new(:netrc => true)\n\nj = get"
},
{
"path": ".github/osia_update_history.rb",
"chars": 1158,
"preview": "require_relative 'osia_helper'\n\nrequire 'awesome_print'\nrequire 'colored'\n\nHISTORY = 'git_history'\n\ndef get_author(a)\n "
},
{
"path": ".github/osia_update_lic.rb",
"chars": 811,
"preview": "require_relative 'osia_helper'\n\nrequire 'octokit'\nrequire 'netrc'\n\nclient = Octokit::Client.new(:netrc => true)\n\nj = get"
},
{
"path": ".github/osia_validate_categories.rb",
"chars": 607,
"preview": "require_relative 'osia_helper'\n\nj = get_json\nc = j['categories']\napps = j['projects']\n\ndef failed(cat, app)\n puts \"‼️ "
},
{
"path": ".github/schema.json",
"chars": 5530,
"preview": "{\n\t\"$schema\": \"http://json-schema.org/draft-04/schema#\",\n\t\"$id\": \"https://raw.githubusercontent.com/dkhamsing/open-sourc"
},
{
"path": ".github/workflows/ruby.yml",
"chars": 568,
"preview": "name: Ruby\n\non:\n push:\n branches: [ '*' ]\n pull_request:\n branches: [ '*' ]\n\njobs:\n build:\n\n runs-on: ubuntu"
},
{
"path": ".gitignore",
"chars": 7,
"preview": "/.gtm/\n"
},
{
"path": "APPSTORE.md",
"chars": 218174,
"preview": "# Open-Source iOS Apps\n\n<!-- \n⚠️ This README is generated, please do not update. To contribute, make changes to contents"
},
{
"path": "ARCHIVE.md",
"chars": 44889,
"preview": "# Open-Source iOS Apps Archive\n\nThis is an archive of the [main list](https://github.com/dkhamsing/open-source-ios-apps)"
},
{
"path": "LATEST.md",
"chars": 4124,
"preview": "# Open-Source iOS Apps Latest\n\n## Lastest additions to the [main list](https://github.com/dkhamsing/open-source-ios-apps"
},
{
"path": "LICENSE",
"chars": 7048,
"preview": "Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n"
},
{
"path": "README.md",
"chars": 412639,
"preview": "# Open-Source iOS Apps\n\n<!-- \n⚠️ This README is generated, please do not update. To contribute, make changes to contents"
},
{
"path": "contents.json",
"chars": 1088613,
"preview": "{\n \"title\": \"Open-Source iOS Apps\",\n \"subtitle\": \"A collaborative list of open-source `iOS`, `iPadOS`, `watchOS`, `tvO"
}
]
About this extraction
This page contains the full source code of the dkhamsing/open-source-ios-apps GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 27 files (1.7 MB), approximately 611.0k tokens, and a symbol index with 16 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.