LiveContainer

Swift 언어로 만든 아이폰 앱 관련 프로젝트예요. 전 세계 개발자 1.4만 명이 스타(좋아요)를 눌렀어요. 깃허브에 올라온 설치파일이 없는 개발자용 프로젝트예요. 마지막 수정은 20일 전이에요.

👩‍💻 개발자용⭐ 1.4만 아이폰 앱

원문 소개: Run iOS apps without actually installing them!

바로 쓰기

내 상황에 맞는 방법을 하나 고르세요.

① 설치파일 바로 받기 · 3.8.0, 2026.7.17

📦 기타 내 기기 추천

LiveContainer+SideStore.ipa · 33.8 MB받기
LiveContainer.ipa · 4.5 MB받기

윈도우에서 "PC 보호" 창이 뜨면 '추가 정보 → 실행'을 누르세요. 출처가 이 공식 저장소인 파일만 받으세요.

브라우저에서 바로 열기 · 설치 없음

내 것으로 가져오기

git clone https://github.com/LiveContainer/LiveContainer.git

git clone: 개발자가 코드를 받는 명령어예요. 수정 내역까지 함께 받아져요.

한눈에 보기

인기⭐ 13,857 스타 · 🍴 1,285 포크
무료 여부AGPL-3.0
무료로 쓸 수 있어요. 단, 고쳐서 남에게 배포하면 고친 코드도 공개해야 해요.
만든 언어Swift
최신 버전3.8.0 · 2026년 7월 17일
활동만든 날 2023.7.15 · 최근 수정 20일 전 · 열린 이슈(질문) 56개

설명서 (README)

만든 사람이 쓴 원문 설명서예요. 영어가 어렵다면 한국어로 번역해서 보기 →

Logo

LiveContainer

An app launcher that runs iOS apps without actually installing them!

Crowdin Project: Crowdin  |   Documentation:livecontainer.github.io

LiveContainer

  • LiveContainer is an app launcher (not emulator or hypervisor) that allows you to run iOS apps inside it.
  • Allows you to install unlimited apps (3 app/10 app id free developer account limit does not apply here) with only one app & app id. You can also have multiple versions of an app installed with multiple data containers.
  • (Below iOS 26) When JIT is available, codesign is entirely bypassed, no need to sign your apps before installing. Otherwise, your app will be signed with the same certificate used by LiveContainer.

Caution

Important Notice Regarding Third-Party Builds of LiveContainer

We have recently noticed the appearance of certain closed-source third-party builds of LiveContainer. Please be aware that all your apps are installed within LiveContainer, which means these third-party builds have full access to your data, including sensitive information such as keychain items and login credentials.

Furthermore, please note that we do not provide any support for issues of these third-party builds.

Installation

LiveContainer comes with a standalone version and a version with built-in SideStore. Please read the install guide here

If you encounter any issue please read our FAQ here

Standalone

Stable Add AltSource Download .ipa
Nightly Add AltSource Download .ipa

LiveContainer+SideStore

Stable Nightly
Download .ipa Download .ipa

Requirements

  • iOS/iPadOS 15+
    • Multitasking requires iOS/iPadOS 16.0+
  • AltStore 2.0+ / SideStore 0.6.0+

Features & Guides

Installing Apps

  • Open LiveContainer, tap the plus icon in the upper right hand corner and select IPA files to install.
  • Choose the app you want to open in the next launch.
  • You can long-press the app to manage it.

Using multiple LiveContainers allows you to run multiples different apps simultaneously, with almost seamless data transfer between the LiveContainers.

You can now launch multiple apps simultaneously in in-app virtual windows. These windows can be resized, scaled, and even displayed using the native Picture-in-Picture (PiP) feature. On iPads, apps can run in native window mode, displaying each app in a separate system window. And if you wish, you can choose to run apps in multitasking mode by default in settings.

To use multitasking, hold its banner and tap "Multitask". You can also make Multitask the default launch mode in settings.

Note

  1. To use multitasking, ensure you select "Keep App Extensions" when installing via SideStore/AltStore.
  2. If you want to enable JIT for multitasked apps, you’ll need a JIT enabler that supports attaching by PID. (StikDebug)

Fix File Picker & Local Notification

Some apps may experience issues with their file pickers or not be able to apply for notification permission in LiveContainer. To resolve this, enable "Fix File Picker" & "Fix Local Notifications" accordingly in the app-specific settings.

"Open In App" Support

  • You can simply share a URL or a file to app simply by using iOS's native share sheet. In share sheet, select LiveContainer, and LiveContainer will ask you which app you'd like to open that URL/file in.
  • What's more, you also can tap the link icon in the top-right corner of the "Apps" tab and input the URL. LiveContainer will detect the appropriate app and ask if you want to launch it.

Compatibility

Unfortunately, not all apps work in LiveContainer, so we have a compatibility list to tell if there is apps that have issues. If they aren't on this list, then it's likely going run. However, if it doesn't work, please make an issue about it.

Building

Open Xcode, edit DEVELOPMENT_TEAM[config=Debug] in xcconfigs/Global.xcconfig to your team id and compile.

Project structure

Main executable

  • Core of LiveContainer
  • Contains the logic of setting up guest environment and loading guest app.
  • If no app is selected, it loads LiveContainerSwiftUI.

LiveContainerSwiftUI

  • SwiftUI rewrite of LiveContainerUI (by @hugeBlack)
  • Language file Localizable.xcstrings is in here for multilingual support. To help us translate LiveContainer, please visit our crowdin project

MultitaskSupport

SideStore

  • Supporting code for SideStore's app refreshing integration

TweakLoader

  • A simple tweak injector, which loads CydiaSubstrate and loads tweaks.
  • Injected to every app you install in LiveContainer.

ZSign

  • The app signer shipped with LiveContainer.
  • Originally made by zhlynn.
  • LiveContainer uses Feather's version of ZSign modified by khcrysalis.
  • Changes are made to meet LiveContainer's needs.

How does it work?

Patching guest executable

  • Patch __PAGEZERO segment:
    • Change vmaddr to 0xFFFFC000 (0x100000000 - 0x4000)
    • Change vmsize to 0x4000
  • Change MH_EXECUTE to MH_DYLIB.
  • Inject a load command to load TweakLoader.dylib

Patching @executable_path

  • Hook dyld4::APIs::_NSGetExecutablePath
  • Call _NSGetExecutablePath
  • Replace config.process.mainExecutablePath
    • Calculate address of config.process.mainExecutablePath using dyld4::APIs instance (passed as first parameter)
    • Use builtin_vm_protect or TPRO unlock to make it writable
    • Replace the address with one we have control of
  • Put the original dyld4::APIs::_NSGetExecutablePath back

Old Method

  • Call _NSGetExecutablePath with an invalid buffer pointer input -> SIGSEGV
  • Do some magic stuff to overwrite the contents of executable_path.

Patching NSBundle.mainBundle

  • This property is overwritten with the guest app's bundle.

Bypassing Library Validation

  • JIT is optional to bypass codesigning. In JIT-less mode, all executables are signed so this does not apply.
  • Derived from Restoring Dyld Memory Loading

dlopening the executable

  • Call dlopen with the guest app's executable
  • TweakLoader loads all tweaks in the selected folder
  • Find the entry point
  • Jump to the entry point
  • The guest app's entry point calls UIApplicationMain and start up like any other iOS apps.

Multi-Account support & Keychain Semi-Separation

128 keychain access groups are created and LiveContainer allocates them randomly to each container of the same app. So you can create 128 container with different keychain access groups.

Limitations

  • Entitlements from the guest app are not applied to the host app. This isn't a big deal since sideloaded apps requires only basic entitlements.
  • App Permissions are globally applied.
  • Guest app containers are not sandboxed. This means one guest app can access other guest apps' data.
  • App extensions aren't supported. they cannot be registered because: LiveContainer is sandboxed, SpringBoard doesn't know what apps are installed in LiveContainer, and they take up App ID.
  • Multitasking can be achieved by using multiple LiveContainer and the multitasking feature. However, while we were able to fix physical keyboard input issue on iPadOS (#524), iPhone Mirroring uses different checks which still broke it (#793).
  • Remote push notification will not work
  • Querying custom URL schemes might not work(?)

TODO

  • Use ChOma instead of custom MachO parser

License

GNU Affero General Public License v3.0

Credits

자주 묻는 질문

LiveContainer 무료로 쓸 수 있나요?

네, AGPL-3.0 라이선스로 공개된 오픈소스예요. 무료로 쓸 수 있어요. 단, 고쳐서 남에게 배포하면 고친 코드도 공개해야 해요. 깃허브 저장소에서 누구나 내려받을 수 있어요.

LiveContainer 설치는 어떻게 하나요?

최신 버전 3.8.0(2026년 7월 17일 공개)의 기타용 설치파일을 이 페이지 '설치파일 바로 받기'에서 눌러 받으면 돼요. 받은 파일을 실행하면 설치가 시작돼요.

코딩을 몰라도 LiveContainer 쓸 수 있나요?

조금 어려울 수 있어요. 완성된 설치파일이 없는 개발자용 프로젝트라서 터미널 명령어나 개발 환경이 필요해요. 처음이라면 Codespaces로 브라우저에서 먼저 실행해 보세요.

LiveContainer 인기는 어느 정도인가요?

깃허브 스타 13,857개, 포크 1,285개를 받은 프로젝트예요. 2023년에 만들어졌고 마지막 수정은 20일 전이에요. 스타가 1만 개를 넘으면 전 세계적으로 검증된 인기 프로젝트로 봐요.

복사했어요