AltStore is an alternative app store for non-jailbroken iOS devices.

Related tags

SwiftUI App AltStore
Overview

AltStore

AltStore is an alternative app store for non-jailbroken iOS devices.

Swift Version License: AGPL v3 PRs Welcome

AltStore is an iOS application that allows you to sideload other apps (.ipa files) onto your iOS device with just your Apple ID. AltStore resigns apps with your personal development certificate and sends them to a desktop app, AltServer, which installs the resigned apps back to your device using iTunes WiFi sync. To prevent apps from expiring, AltStore will also periodically refresh your apps in the background when on the same WiFi as AltServer.

For the initial release, I focused on building a solid foundation for distributing my own apps — primarily Delta, my all-in-one emulator for iOS. Now that Delta has been released, however, I'm beginning work on adding support for anyone to list and distribute their apps through AltStore (contributions welcome! 🙂 ).

Features

  • Resigns and installs any app with your Apple ID
  • Installs apps over WiFi using AltServer
  • Refreshes apps periodically in the background to prevent them from expiring (when on same WiFi as AltServer)
  • Handles app updates directly through AltStore

Requirements

  • Xcode 11
  • iOS 12.2+ (AltStore)
  • macOS 10.14.4+ (AltServer)
  • Swift 5+

Why iOS 12.2+ and macOS 10.14.4+? Doing so allows me to distribute all AltStore apps without embedding Swift libraries inside them. This helps me afford bandwidth costs by reducing download sizes by roughly 30%, but also noticeably improves how long it takes to install/refresh apps with AltStore. If you're compiling AltStore and/or AltServer yourself, however, you should be able to lower their deployment targets to iOS 12.0 and macOS 10.14.0, respectively, without any issues.

Project Overview

AltStore

AltStore is a just regular, sandboxed iOS application. The AltStore app target contains the vast majority of AltStore's functionality, including all the logic for downloading and updating apps through AltStore. AltStore makes heavy use of standard iOS frameworks and technologies most iOS developers are familiar with, such as:

  • Core Data
  • Storyboards/Nibs
  • Auto Layout
  • Background App Refresh
  • Network.framework (new in iOS 12)

AltServer

AltServer is also just a regular, sandboxed macOS application. AltServer is significantly less complex than AltStore though, and for that reason consists of only a handful of files.

AltKit

AltKit is a shared framework that includes common code between AltStore and AltServer.

AltSign

AltSign is my internal framework used by both AltStore and AltServer to communicate with Apple's servers and resign apps. For more info, check the AltSign repo.

Roxas

Roxas is my internal framework used across all my iOS projects, developed to simplify a variety of common tasks used in iOS development. For more info, check the Roxas repo.

Compilation Instructions

AltStore and AltServer are both fairly straightforward to compile and run if you're already an iOS or macOS developer. To compile AltStore and/or AltServer:

  1. Clone the repository
    git clone https://github.com/rileytestut/AltStore.git
    
  2. Update submodules:
    cd AltStore 
    git submodule update --init --recursive
    
  3. Open AltStore.xcworkspace and select the AltStore project in the project navigator. On the Signing & Capabilities tab, change the team from Yvette Testut to your own account.
  4. (AltStore only) Change the value for ALTDeviceID in the Info.plist to your device's UDID. Normally, AltServer embeds the device's UDID in AltStore's Info.plist during installation. When running through Xcode you'll need to set the value yourself or else AltStore won't resign (or even install) apps for the proper device.
  5. (AltStore only) Change the value for ALTServerID in the Info.plist to your AltServer's serverID. This is embedded by AltServer during installation to help AltStore distinguish between multiple AltServers on the same network, and you can find this by using a Bonjour browsing application and noting the serverID advertised by AltServer. This isn't strictly necessary, because if AltStore can't find the AltServer with the embedded serverID it still falls back to trying another AltServer. However, this will help in cases where there are multiple AltServers running (plus the error messages are more helpful).
  6. Build + run app! 🎉

Licensing

Due to the licensing of some dependencies used by AltStore, I have no choice but to distribute AltStore under the AGPLv3 license. That being said, my goal for AltStore is for it to be an open source project anyone can use without restrictions, so I explicitly give permission for anyone to use, modify, and distribute all my original code for this project in any form, with or without attribution, without fear of legal consequences (dependencies remain under their original licenses, however).

Contact Me

Questions about AltStore in general? Make sure to read the FAQ at https://altstore.io/faq/

Comments
  • "Please update to Xcode 7.3 or later" error

    When trying to refresh an app I receive the message "Please update to Xcode 7.3 or later to continue developing with your Apple ID. (3018)" (green bubble). iOS version is 13.2, AltStore 1.1b2, and I have Catalina installed with Xcode 11.2 and Altserver 1.0.1. I have had AltStore installed for weeks with no issues before this.

    opened by solverbak 46
  • Alt Store Crashes Up On Opening

    Alt Store Crashes Up On Opening

    Hello All,

    I had to redownload alr store as I forgot to refresh my apps and now it won’t open I can provide a video to show you guys if needed I am using;

    iPhone 12 Pro Max

    Mac 2015 - Big Sur

    I am NOT willing to jailbreak my phone that’s why I used alt store

    please help I bought some tweaks and can’t get them back!

    opened by joe-gannon11 39
  • Failed to perform authentication handshake with server

    Failed to perform authentication handshake with server

    Describe The bug iPhone 11 Pro - iOS 14 dev beta 1

    I can install AltStore fine but when it asks me to sign in with my apple id (inside the app itself) it gives me the Title error. Anytime I try to refresh AltStore it gives me the same Title error. I'm assuming iOS 14 has something to do with it since it was working 100% fine before updating.

    Screenshots ECFF17DB-FA0F-44F5-A1E3-0BA268A7D9B9 DBF7B6AD-DFF1-4E28-9507-FC75B90D2F65

    Desktop (please complete the following information if applicable):

    • OS: Windows 10

    iPhone (please complete the following information):

    • Device: 11 Pro
    • iOS: 14
    bug 
    opened by brettsloan 36
  • Mail plugin is not supported for Mail 15.0 (macOS 12 Beta)

    Mail plugin is not supported for Mail 15.0 (macOS 12 Beta)

    Info

    So I am using the macOS 12 Beta update which has Mail 15.0 (or something) but the Mail Plugin requires Mail 14.0 which I don't have. How do I install AltStore on my phone now?

    Screenshot

    Error: Could not load Photo
    opened by StupidRepo 32
  • iOS 13.3.1, crashes.

    iOS 13.3.1, crashes.

    Describe the bug I have downloaded the latest version of Altserver, iTunes & iCloud, yet the app still crashes even when I redownload it completely.. I'm on iOS 13.3.1 and do not wish to update my phone. Is there any fix?? It installs fine and even altserver notifies me that the application was installed successfully, but then when I go to open it it crashes. The app is signed, I tried two different Apple IDs, I tried some settings, different computer, but it just wouldn't work. Everytime it'll crash.

    Desktop (please complete the following information if applicable):

    • OS: Windows
    • Version: 10

    iPhone (please complete the following information):

    • Device: iPhone xR
    • iOS: 13.3.1

    Additional context and logs No error logs

    bug 
    opened by Ruckingfetarded 21
  • Installation Failed: The data couldn’t be read because it isn’t in the correct format.

    Installation Failed: The data couldn’t be read because it isn’t in the correct format.

    Title. Mail Plugin is installed, not sure if my logged in mail account needs to be my iCloud account, but it is currently not. My apple ID is typed correctly, I am NOT using an app-specific password. What should I do?

    opened by SEWsam 21
  • Getting -22411 error Need help please

    Getting -22411 error Need help please

    Hi I’m wondering if there’s a way to fix the error I get when trying to install Altstore to my iPhone 8+ I get error “This action can not be completed at this time (-22411)”

    I’ve been getting this error for 2.5 months and what I tried to solve the problem. I tried reinstalling Altstore, iTunes (not Microsoft store) and iCloud (not Microsoft store). I also tried changing password and making new accounts, also tried accepting developer agreement thing when you first login in apples developer page. I tried making app specific password and had no success.

    I was told the issue was a Xcode error from apple forcing people to update to a newer Xcode version.

    This is on windows 10 using over WiFi (computer isn’t near Ethernet If it’s relevant) for internet connection. dose this have to do with using a iCloud email as Apple ID?

    Edit: my firewall isn’t blocking it

    Combined reply I dd not realizing I could edit below.

    May 3rd

    I did a test with a account with a gmail account and no change on error and I also updated to latest version of windows 10 if that helps.

    Edit: I went through full account setup for these accounts and seems to not allow me to use altserver.

    It’s been about 3 months by now sense I have been trying to get it working.

    May 8th Edit: still no success I have tried using different forks and no differences. I asked helped on the delta server but It seemed they didn’t know how to help so I assumed people would help here.

    bug 
    opened by Spidy123222 19
  • The operation couldn’t be completed. Cannot activate more than 3 apps and app extensions.

    The operation couldn’t be completed. Cannot activate more than 3 apps and app extensions.

    I cant install altstore on my iPhone XS with iOS13.5

    First I get this message: AltStore already installed on another device. Apps installed with AltStore on your other devices will stop working. Are you sure you want to continue?

    Then I see this error: The operation couldn’t be completed. Cannot activate more than 3 apps and app extensions.... If you are running iOS13.5.....

    Bildschirmfoto 2020-05-24 um 21 12 12

    Offload Unused Apps is disabled. I have currently no other apps activated on my device. A few months ago i installed altstore, but its deleted long ago. I tried three different Apple IDs always with the same error.

    Is there any way to see or delete this ghost apps?

    I'm running altserver on MacOS Catalina v10.15.4.

    Thanks for helping.

    bug 
    opened by kolossboss 18
  • Can't install AltStore: Upgrade's application-identifier entitlement string does not match

    Can't install AltStore: Upgrade's application-identifier entitlement string does not match

    Describe the bug can't reinstall altstore on iphone ERROR while installing

    To Reproduce Steps to reproduce the behavior:

    1. install altstore on iphone
    2. enter username password
    3. i get this error :

    Upgrade's application-identifier entitlement string (F9T3KUAD3Q.com.F9T3KUAD3Q.com.rileytestut.AltStore) does not match installed application's application-identifier string (F9T3KUAD3Q.EE-E6CD7812-8D79-4BC9-923F-9F7990EA07EC.com.F9T3KUAD3Q.com.rileytestut.AltStore); rejecting upgrade.

    bug 
    opened by carlmurr 18
  • Prioritise paid developer account over free

    Prioritise paid developer account over free

    I have opened again the #103 originally developed by @luken11 because it was pointing to master instead of develop. I hope it's gonna get merged soon because it's a killer feature!

    If an account has both a free and paid developer account active concurrently, then the free account is preferred. Prefer the paid account for a longer signing period

    opened by toioski 17
  • "Your account information was entered incorrectly -20101"

    I received this error when unc0ver is downloading after safari. When I login to altstore using my @gmail.com apple ID, it will successfully login but then show a @yahoo.com email that I had changed several years before on the apple website. Logging to the correct icloud account but shows old @yahoo email address.

    Reproduced every time I try to downloading unC0ver after clicking the link in safari.

    20200527_052938000_iOS 20200527_053040000_iOS

    Windows 10

    • Device: iPhone 11 Pro
    • iOS: 13.5
    bug 
    opened by iamdedd 17
  • [BUG] Can altstore support Displayname with Chinese words ?

    [BUG] Can altstore support Displayname with Chinese words ?

    Can altstore support Displayname with Chinese words ?

    When I sideload an ipa file,I got 'The app is invalid.' error.The app's display name on iphone includes Chinese words.

    opened by FlechazoPh 0
  • (Windows) AltServer - Automatically start at startup doesn't work anymore

    (Windows) AltServer - Automatically start at startup doesn't work anymore

    Hello,

    now when AltServer is started automatically on startup, AltStore wont be able to detect it, you have to close AltServer and relaunch it for it to work.

    opened by JustSxm 0
  • Can I connect to altserver remotely?

    Can I connect to altserver remotely?

    I have a friend who only has an iPhone. He needs to install the IPA, but this is not possible; he does not have a PC. I want to try to install it through my PC but a friend in another city. Buy an android do not offer money he does not have

    opened by FastBoot-pixellab 1
  • AltStore Beta stole my App IDs from my Youtube alt app

    AltStore Beta stole my App IDs from my Youtube alt app

    When upgrading to 1.6rc, AltStore Beta appears to have stolen the App IDs of my Youtube alt app, and now shows itself as Youtube (replacing my Youtube alt in My Apps:

    AltStoreBeta

    More tellingly, when I try to install a newer Youtube alt, it fails with a strange error about mismatched App IDs:

    Error Domain=IXErrorDomain Code=2 "Failed to set app extension placeholders for com.MYDEVID123.com.rileytestut.AltStore.Beta" UserInfo={NSLocalizedFailureReason=Failed to create promise., NSLocalizedDescription=Failed to set app extension placeholders for com.MYDEVID123.com.rileytestut.AltStore.Beta, FunctionName=+[IXPlaceholder _placeholderForBundle:client:withParent:installType:metadata:placeholderType:error:], SourceFileLine=849, NSUnderlyingError=0x71ae40510 {Error Domain=IXErrorDomain Code=8 "Attempted to set app extension placeholder promise with bundle ID com.google.ios.youtube.MYDEVID123.ShareExtension that does not match required prefix of com.MYDEVID123.com.rileytestut.AltStore.Beta. for parent" UserInfo={NSLocalizedDescription=Attempted to set app extension placeholder promise with bundle ID com.google.ios.youtube.MYDEVID123.ShareExtension that does not match required prefix of com.MYDEVID123.com.rileytestut.AltStore.Beta. for parent, FunctionName=-[IXPlaceholder setAppExtensionPlaceholderPromises:error:], SourceFileLine=1331, NSLocalizedFailureReason=Mismatched bundle IDs.}}}

    opened by alexchandel 0
Owner
Riley Testut
App developer. Building AltStore and Delta 🇺🇸🇳🇿
Riley Testut
Open source, non-custodial Terra Wallet focused on privacy iOS App

iOS Open source non-custodial Terra Wallet. We send your finance from the Earth to the Moon Running the project To run this project update / fetch the

Terra Planet 7 May 22, 2022
The alternative last.fm client for iOS made with SwiftUI

first.fm - The alternative last.fm client for iOS (it's actually not available on the App Store... yet) Features Your profile (top artists, tracks and

Stanislas 22 Aug 22, 2022
An alternative Tumblr client for iOS

BlogQuest An alternative Tumblr client for iOS. First prize winner, 2014 Tumblr Hack Day. Kinda like Facebook Paper but for Tumblr. We meant to finish

Bryan Irace 14 Feb 10, 2022
An alternative gym workouts tracker written in SwiftUI.

Gymspot Gymspot is an alternative workout tracker written in SwiftUI. I decided to start working on it because: I need an easy-to-use tracker for my w

Alessio Moiso 3 Nov 22, 2022
Basic calculator app for iOS devices using Swift 3 and Xcode

iOS Calculator App Basic calculator app for iOS devices using Swift 3 and Xcode. Created for learning purpose. How to use Just download source code an

null 1 Jan 12, 2022
Development of the TUM Campus App for iOS devices - for and from students at Technical University of Munich.

Development of the TUM Campus App for iOS devices - for and from students at Technical University of Munich.

TUM Developers 93 Dec 16, 2022
Poetic is a classic poetry reader. Recently released on the App Store.

Poetic is a classic poetry reader. Enjoy thousands of poems from the greatest English poets.

Dean Thompson 4 Nov 25, 2022
iAppStroe is an Apple Store tool app written in SwiftUI.

iAppStore 简介 iAppStroe 是一款使用 SwiftUI 打造的苹果商店工具类 App。 1、提供苹果实时榜单查询,包含 iOS 和 iPad 的热门免费榜、热门付费榜、畅销榜,还有新上架榜、新上架免费榜、新上架付费榜等。 2、提供查询 app 详细页面内容、搜索 app、订阅 ap

37iOSTeam 272 Dec 30, 2022
Pasta is clipboard application for ios devices.

pasta Pasta is clipboard application for ios devices. Starting Requirements Xcode 13 Runing Not requires any specific steps, clone and run. git clone

Kemal Sanlı 5 Sep 19, 2022
A To Do List application for iOS devices.

Todoey A To Do List application for iOS devices. Tools Used - Realm Database UIStoryBoard Swift Ruby How to run - Clone the repo to local storage. Ins

Kunal Bhandari 0 Nov 29, 2021
Fast Multi-store Redux-like architecture for iOS/OSX applications

Highway Highway is implementation of Redux-like architecture pattern using Swift. If you were looking for a something like this: TEA (The Elm Architec

Dmitrii Cooler 14 Dec 9, 2022
iCloud Drive is Apple's essential connection between all your devices, Mac, iPhone, iPad, even your Windows PC.

iCloud Drive is Apple's essential connection between all your devices, Mac, iPhone, iPad, even your Windows PC.While the cost of storage seems expensive in comparison to other online storage services, its advantage is that it works natively across all your devices.

MindInventory 12 Jul 29, 2022
Ready use service for Firebase. Included interface, recored devices and notifications.

SPProfiling Ready use service with using Firebase. Included interface, manage auth process, recored devices and profile data. Installation Ready for u

Ivan Vorobei 13 Oct 29, 2022
Todo is an iOS App written in Swift. This app is used for an online video training course. This app demonstrates how to use UITableViewController.

Todo Todo is an iOS App written in Swift. This app is used for an online video training course. This app demonstrates how to use UITableViewController

Jake Lin 273 Dec 29, 2022
In this mini app covered the concepts like basics of SwiftUI and Navigations and Animations and List with CRUD functions and MVVM and App Launch and App icons adding and also applied persistence using UserDefaults Concept.

TodoList In this application used the concepts from the beginner level project of SwiftUI_Evolve_1 The following concepts covered in this mini app Swi

Sivaram Yadav 2 Dec 4, 2021
NetFun-ios-app - iOS app using BFF service to display processed data.

NetFun-ios-app iOS app using BFF service to display processed data. The iOS demo developed in SwiftUI and it uses BFF service to show expected UI comp

Minhaz Panara 0 Jan 3, 2022
Porting the example app from our Advanced iOS App Architecture book from UIKit to SwiftUI.

SwiftUI example app: Koober We're porting the example app from our Advanced iOS App Architecture book from UIKit to SwiftUI and we are sharing the cod

raywenderlich 55 Dec 19, 2022
SwiftUI App to view the App Activity Record from iOS 15

App Activity Viewer A viewer for the iOS 15 "Record App Activity" export. FAQ How do I create an App Activity Report? Go to the "Settings" app of your

Jannik Arndt 13 Nov 16, 2022
iOS app for Ribbit, Broker API Reference App

Ribbit Reference Implementation (iOS) The reference implementation for designing the iOS user interface of a broker-dealer trading application with th

Alpaca 23 Dec 14, 2022