Swiftpack.co - Package - khoren93/SwiftHub

SwiftHub logo

GitHub iOS client in RxSwift and MVVM-C clean architecture.

KotlinHub - Android version is coming soon!

SwiftUI and Combine coming soon!

Download on the App Store



04_trending_repository_screen  01_search_repository_screen  02_repository_details_screen 

05_search_user_screen  06_user_details_screen  03_settings_screen 

Mind Mapping (full version)

SwiftHub mind note

App Features

  • ☑ Basic, Personal Access Token and OAuth2 authentication
  • ☑ View trending repositories and users (github-trending-api)
  • ☑ Advanced searching and sorting repositories and users, filter by language
  • ☑ View repository and user details, events, issues, commits, pull requests, contributors, etc...
  • ☑ View issue and pull request messages (MessageKit)
  • ☑ Tool for counting lines of code from github repositories (codetabs) (Charts)
  • ☑ The missing star history graph of github repos (stars-history)
  • ☑ Quickly browse the history of a file from any git repository (git-history)
  • ☑ Tool for visualizing GitHub profiles (profile-summary-for-github)
  • ☑ Source file viewer and syntax highlighting (Highlightr)
  • ☑ Color themes in light and dark modes (RxTheme)
  • ☑ In-app language switching (en, zh, ru, hy) (Localize-Swift)
  • ☑ Whats New functionality (WhatsNewKit)
  • ☑ Invite friends functionality
  • ☑ Support iPhone and iPad (Split View)
  • ☐ Clone repository directly to app (SwiftGit2)



  • Brew - The missing package manager for macOS
  • Bundler - Manage your Ruby application's gem dependencies
  • Fastlane - The easiest way to automate building and releasing your iOS and Android apps
  • SwiftLint - A tool to enforce Swift style and conventions
  • Jazzy - Soulful docs for Swift & Objective-C
  • JSONExport - Is a desktop application which enables you to export JSON objects as model classes
  • R.swift - Get strong typed, autocompleted resources like images, fonts and segues in Swift projects
  • Flex - An in-app debugging and exploration tool for iOS
  • Sourcetree - A free Git client for Windows and Mac
  • Postman - A powerful HTTP client for testing web services (view)
  • Sketch - A digital design app for Mac (paid) (view)
  • iThoughtsX - A mind mapping app for Windows, Mac, iPad and iPhone (paid) (view)

Building and Running

You'll need a few things before we get started. Make sure you have Xcode installed from the App Store. Then run the following command to install Xcode's command line tools, if you don't have that yet

xcode-select --install

Install Bundler for managing Ruby gem dependencies

[sudo] gem install bundler

Install Brew package manager for macOS

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Install Node (required to install Apollo)

brew install node

The following commands will set up SwiftHub

cd SwiftHub
bundle install
bundle exec fastlane setup

To update all tools and pods

bundle exec fastlane update

Alrighty! We're ready to go!


You can generate the API docs locally. Run jazzy from the root of this repository. This requires installation of jazzy. You will find the output in docs/. You can set options for your project’s documentation in a configuration file, .jazzy.yaml by default.


Flex debugging tool has been integrated in this application. To enable it, just swipe right anywhere in the application. There are also included debugging Hero animations. To use it, swipe right with two fingers. Repeat this to disable.


Fastlane automates common development tasks - for example bumping version numbers, running tests on multiple configurations, or submitting to the App Store. You can list the available lanes (our project-specific scripts) using bundle exec fastlane lanes. You can list available actions (all actions available to be scripted via lanes) using bundle exec fastlane actions. The fastlane configuration and scripts are in the fastlane folder.


All icons used in the application are taken from the Feather. Thanks to them for the beautiful open source icons.

SwiftHub In


See Also

  • GitHawk - The best iOS app for GitHub
  • CodeHub - An iOS application written using Xamarin
  • GitPoint - GitHub in your pocket
  • DevHub - TweetDeck for GitHub - Android, iOS, Web & Desktop
  • OpenHub - An open source GitHub Android client app, faster and concise
  • Trailer - Managing Pull Requests and Issues For GitHub & GitHub Enterprise
  • FastHub - FastHub the ultimate GitHub client for Android.


MIT License. See LICENSE.


Stars: 1702


Used By

Total: 0


Contributions - 2020-05-17 20:33:55

  • Added contributions chart in profile screen
  • Added authentication with Personal Access Token

Count Lines of Code - 2020-04-17 13:19:42

Minor Improvements - 2019-07-09 08:07:47

  • Languages API no longer provide popular and all sections
  • Enabled default iOS back swipe gesture
  • Fixed trending repo cell style in dark mode

Swift 5 - 2019-06-23 12:41:32

  • Updated to swift 5
  • Used SwifterSwift colors instead of Chameleon
  • Added My Projects section in Settings

Issue and Pull Request Messages - 2019-05-12 20:04:21

  • Added Issue and Pull Request details (MessageKit)
  • Show labels in issue and pull request cells
  • AttributedLib replaced by BonMot
  • Refactored ViewModel and Navigation injection logic
  • Removed all view controllers from Main.storyboard

New Style - 2019-04-26 08:20:16

  • New card like style
  • Added events list for organizations
  • Show repository readme as floating panel
  • Added cache size in settings
  • Fixed open in web issue from repository details

Branches and Releases - 2019-04-11 22:24:00

New org:read permission is required now, please logout and login again (only for OAuth case)

  • New Branches module
  • New Releases module
  • Added pinned repositories in user details
  • Added user’s organizations in user details
  • Added account section in Settings instead of profile tab

Profile Summary - 2019-03-17 19:22:39

  • Added Profile Summary option in user details.
  • Updated Repository and User details
  • Updated Search screen

Hi GraphQL and Star History - 2019-03-10 16:43:16

  • Added GraphQL support
  • Implemented search repositories and users in GraphQL
  • Show stars history from repository details using star-history
  • Show language colors in repositories list

Mind Mapping and Projects - 2019-02-24 15:10:04

  • Created mind mapping diagram
  • Created Projects app for task management
  • Added trending and search modes in Search screen
  • Implemented Watching list in User details
  • Implemented authenticated user notifications in a repository
  • Implemented mark as read notifications

First Test - 2019-02-17 14:37:21

  • Show file history using git-history
  • Written first tests

oAuth support - 2019-01-29 18:03:43

  • Added oAuth support
  • Allow to sort search results
  • Implemented error handling
  • Show toast messages

New Source file viewer - 2019-01-16 16:54:01

  • Source file viewer and syntax highlighting
  • Invite friends functionality
  • Google ads implementation

Hello China! - 2018-12-20 19:05:19

  • Added Chinese support
  • New app icon
  • Last selected repo language is now saved
  • Added user starred repositories option in profile

Trendings - 2018-12-18 13:18:10

  • Show trending in search tab
  • New Languages screen

Whats New - 2018-12-16 15:02:37

  • Allow to star repository
  • Allow to follow user
  • New contributors screen
  • Show app new features with WhatsNewKit

New Commits and Pull Requests screens - 2018-11-30 16:59:39

SwiftHub v1.1.0

New Repository Details screen - 2018-11-22 13:48:27

SwiftHub v1.0.2

Initial release! - 2018-11-04 20:47:36

SwiftHub v1.0.1

Initial pre-release! - 2018-10-13 22:02:30

SwiftHub v1.0.0