From eb23e5365fdaa94f39f477fdc40613975a99e615 Mon Sep 17 00:00:00 2001 From: Jackson Coxson Date: Sun, 13 Nov 2022 17:40:33 -0800 Subject: [PATCH] Show error message when pairing file is missing (#118) * Show alert on startup error * Call super to load normal view --- AltStore/LaunchViewController.swift | 28 +++++++++++++++------------- minimuxer/minimuxer.swift | 4 ++-- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/AltStore/LaunchViewController.swift b/AltStore/LaunchViewController.swift index 1945ae46..34bcd927 100644 --- a/AltStore/LaunchViewController.swift +++ b/AltStore/LaunchViewController.swift @@ -42,14 +42,21 @@ class LaunchViewController: RSTLaunchViewController self.destinationViewController = self.storyboard!.instantiateViewController(withIdentifier: "tabBarController") as! TabBarController } super.viewDidLoad() + } + + override func viewDidAppear(_ animated: Bool) { + super.viewDidAppear(true) start_em_proxy(bind_addr: Consts.Proxy.serverURL) guard let pf = fetchPairingFile() else { - displayError("ALTPairingFile not found.") + displayError("Device pairing file not found.") return } set_usbmuxd_socket() - start_minimuxer(pairing_file: pf) + let res = start_minimuxer(pairing_file: pf) + if res != 0 { + displayError("minimuxer failed to start. Incorrect arguments were passed.") + } auto_mount_dev_image() } @@ -77,17 +84,12 @@ class LaunchViewController: RSTLaunchViewController } func displayError(_ msg: String) { - let label = UILabel() - label.text = msg - label.textColor = .refreshRed - label.sizeToFit() - - self.view.addSubview(label) - - NSLayoutConstraint.activate([ - label.centerXAnchor.constraint(equalTo: view.centerXAnchor), - label.centerYAnchor.constraint(equalTo: view.centerYAnchor) - ]) + print(msg) + // Create a new alert + let dialogMessage = UIAlertController(title: "Error launching SideStore", message: msg, preferredStyle: .alert) + + // Present alert to user + self.present(dialogMessage, animated: true, completion: nil) } } diff --git a/minimuxer/minimuxer.swift b/minimuxer/minimuxer.swift index 3189fd96..d1afe1d8 100644 --- a/minimuxer/minimuxer.swift +++ b/minimuxer/minimuxer.swift @@ -12,12 +12,12 @@ public enum Uhoh: Error { case Bad(code: Int32) } -public func start_minimuxer(pairing_file: String) { +public func start_minimuxer(pairing_file: String) -> Int32 { let pf = NSString(string: pairing_file) let pf_pointer = UnsafeMutablePointer(mutating: pf.utf8String) let u = NSString(string: getDocumentsDirectory().absoluteString) let u_ptr = UnsafeMutablePointer(mutating: u.utf8String) - minimuxer_c_start(pf_pointer, u_ptr) + return minimuxer_c_start(pf_pointer, u_ptr) } public func set_usbmuxd_socket() {