mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-20 04:03:26 +01:00
[AltServer] Deletes received .ipa after installing
This commit is contained in:
@@ -220,20 +220,35 @@ private extension ConnectionManager
|
|||||||
|
|
||||||
func receiveApp(from connection: NWConnection, completionHandler: @escaping (Result<Void, ALTServerError>) -> Void)
|
func receiveApp(from connection: NWConnection, completionHandler: @escaping (Result<Void, ALTServerError>) -> Void)
|
||||||
{
|
{
|
||||||
|
var temporaryURL: URL?
|
||||||
|
|
||||||
|
func finish(_ result: Result<Void, ALTServerError>)
|
||||||
|
{
|
||||||
|
if let temporaryURL = temporaryURL
|
||||||
|
{
|
||||||
|
do { try FileManager.default.removeItem(at: temporaryURL) }
|
||||||
|
catch { print("Failed to remove .ipa.", error) }
|
||||||
|
}
|
||||||
|
|
||||||
|
completionHandler(result)
|
||||||
|
}
|
||||||
|
|
||||||
self.receive(PrepareAppRequest.self, from: connection) { (result) in
|
self.receive(PrepareAppRequest.self, from: connection) { (result) in
|
||||||
print("Received request with result:", result)
|
print("Received request with result:", result)
|
||||||
|
|
||||||
switch result
|
switch result
|
||||||
{
|
{
|
||||||
case .failure(let error): completionHandler(.failure(error))
|
case .failure(let error): finish(.failure(error))
|
||||||
case .success(let request):
|
case .success(let request):
|
||||||
self.receiveApp(for: request, from: connection) { (result) in
|
self.receiveApp(for: request, from: connection) { (result) in
|
||||||
print("Received app with result:", result)
|
print("Received app with result:", result)
|
||||||
|
|
||||||
switch result
|
switch result
|
||||||
{
|
{
|
||||||
case .failure(let error): completionHandler(.failure(error))
|
case .failure(let error): finish(.failure(error))
|
||||||
case .success(let request, let fileURL):
|
case .success(let request, let fileURL):
|
||||||
|
temporaryURL = fileURL
|
||||||
|
|
||||||
print("Awaiting begin installation request...")
|
print("Awaiting begin installation request...")
|
||||||
|
|
||||||
self.receive(BeginInstallationRequest.self, from: connection) { (result) in
|
self.receive(BeginInstallationRequest.self, from: connection) { (result) in
|
||||||
@@ -241,7 +256,7 @@ private extension ConnectionManager
|
|||||||
|
|
||||||
switch result
|
switch result
|
||||||
{
|
{
|
||||||
case .failure(let error): completionHandler(.failure(error))
|
case .failure(let error): finish(.failure(error))
|
||||||
case .success:
|
case .success:
|
||||||
print("Installing to device \(request.udid)...")
|
print("Installing to device \(request.udid)...")
|
||||||
|
|
||||||
@@ -249,8 +264,8 @@ private extension ConnectionManager
|
|||||||
print("Installed to device with result:", result)
|
print("Installed to device with result:", result)
|
||||||
switch result
|
switch result
|
||||||
{
|
{
|
||||||
case .failure(let error): completionHandler(.failure(error))
|
case .failure(let error): finish(.failure(error))
|
||||||
case .success: completionHandler(.success(()))
|
case .success: finish(.success(()))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user