master 20295c17bf34 cached
27 files
1.7 MB
611.0k tokens
16 symbols
1 requests
Download .txt
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 = "![](https://img.shields.io/badge/Projects-#{count}-green.svg)"

  if twitter
    b << " [![](https://img.shields.io/badge/Twitter-@opensourceios-blue.svg)](https://twitter.com/opensourceios)"
  end

  b << " ![](https://img.shields.io/badge/Updated-#{date_display}-lightgrey.svg)"
  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
Download .txt
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
Download .txt
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.

Copied to clipboard!