AltStore は、ジェイルブレイクされていない iOS デバイス用の代替アプリ ストアです。
AltStore は、Apple ID だけを使用して他のアプリ (.ipa ファイル) を iOS デバイスにサイドロードできる iOS アプリケーションです。 AltStore は、個人開発証明書を使用してアプリを再署名し、デスクトップ アプリ AltServer に送信します。AltServer は、iTunes WiFi 同期を使用して、再署名されたアプリをデバイスにインストールします。アプリの有効期限が切れるのを防ぐために、AltStore は、AltServer と同じ WiFi 上にある場合、バックグラウンドでアプリを定期的に更新します。
最初のリリースでは、私は独自のアプリ、主に iOS 用のオールインワン エミュレーターである Delta を配布するための強固な基盤を構築することに重点を置きました。ただし、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 のサーバー ID に変更します。これは、AltStore が同じネットワーク上の複数の AltServer を区別できるようにするために、インストール中に AltServer によって埋め込まれます。これは、Bonjour 閲覧アプリケーションを使用し、AltServer によってアドバタイズされるサーバー ID に注目することで見つけることができます。 AltStore が埋め込まれたサーバー ID を持つ AltServer を見つけられない場合でも、別の AltServer を試すことにフォールバックするため、これは厳密には必要ありません。ただし、これは複数の AltServer が実行されている場合に役に立ちます (さらに、エラー メッセージがより役に立ちます)。AltStore で使用される一部の依存関係のライセンスのため、AltStore をAGPLv3 ライセンスに基づいて配布する以外に選択肢はありません。そうは言っても、私の AltStore の目標は、誰もが制限なく使用できるオープン ソース プロジェクトであることです。そのため、このプロジェクトのすべてのオリジナルコードを、任意の形式で、または帰属を明示せず、法的影響を心配する必要はありません (ただし、依存関係は元のライセンスに基づいたままになります)。
AltStore 全般について質問がありますか? https://altstore.io/faq/ にある FAQ を必ずお読みください。