AltStore 是非越狱 iOS 设备的替代应用程序商店。
AltStore 是一款 iOS 应用程序,允许您仅使用 Apple ID 将其他应用程序(.ipa 文件)旁加载到您的 iOS 设备上。 AltStore 使用您的个人开发证书注销应用程序,并将它们发送到桌面应用程序 AltServer,后者使用 iTunes WiFi 同步将注销的应用程序安装回您的设备。为了防止应用程序过期,当与 AltServer 位于同一 WiFi 时,AltStore 还会定期在后台刷新您的应用程序。
在最初的版本中,我专注于为分发我自己的应用程序打下坚实的基础——主要是 Delta,我的 iOS 一体式模拟器。然而,现在 Delta 已经发布,我开始致力于添加对任何人通过 AltStore 列出和分发其应用程序的支持(欢迎贡献!?)。
AltStore 是一个普通的沙盒 iOS 应用程序。 AltStore 应用程序目标包含 AltStore 的绝大多数功能,包括通过 AltStore 下载和更新应用程序的所有逻辑。 AltStore 大量使用大多数 iOS 开发人员熟悉的标准 iOS 框架和技术,例如:
AltServer 也只是一个常规的沙盒 macOS 应用程序。不过,AltServer 的复杂性明显低于 AltStore,因此仅包含少数文件。
AltKit 是一个共享框架,包含 AltStore 和 AltServer 之间的公共代码。
AltSign 是我的内部框架,AltStore 和 AltServer 使用它来与 Apple 的服务器进行通信并重新签名应用程序。有关更多信息,请查看 AltSign 存储库。
Roxas 是我在所有 iOS 项目中使用的内部框架,旨在简化 iOS 开发中使用的各种常见任务。有关更多信息,请查看 Roxas 存储库。
如果您已经是 iOS 或 macOS 开发人员,那么 AltStore 和 AltServer 的编译和运行都相当简单。编译 AltStore 和/或 AltServer:
git clone https://github.com/rileytestut/AltStore.git
cd AltStore
git submodule update --init --recursive
AltStore.xcworkspace
并在项目导航器中选择 AltStore 项目。在Signing & Capabilities
选项卡上,将团队从Yvette Testut
更改为您自己的帐户。ALTDeviceID
的值更改为您设备的 UDID。通常,AltServer 在安装过程中会将设备的 UDID 嵌入到 AltStore 的 Info.plist 中。通过 Xcode 运行时,您需要自己设置该值,否则 AltStore 将不会为正确的设备重新注册(甚至安装)应用程序。ALTServerID
的值更改为 AltServer 的 serverID。这是 AltServer 在安装过程中嵌入的,以帮助 AltStore 区分同一网络上的多个 AltServer,您可以通过使用 Bonjour 浏览应用程序并记下 AltServer 公布的 serverID 来找到它。这并不是绝对必要的,因为如果 AltStore 无法找到具有嵌入式 serverID 的 AltServer,它仍然会回退到尝试另一个 AltServer。然而,这在有多个 AltServer 运行的情况下会有所帮助(而且错误消息更有帮助)。由于AltStore使用的一些依赖项的许可,我别无选择,只能在AGPLv3许可证下分发AltStore。话虽这么说,我对 AltStore 的目标是让它成为一个任何人都可以不受限制地使用的开源项目,因此我明确授予任何人以任何形式使用、修改和分发我为这个项目的所有原始代码的权限,无论是使用还是无需归属,无需担心法律后果(但是,依赖项仍保留其原始许可证)。
关于 AltStore 的一般问题吗?请务必阅读 https://altstore.io/faq/ 上的常见问题解答