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/ 上的常見問題解答