Hallo Forum,
zur Zeit sitze ich an einem Übungsprojekt, das ich für einen Freund aus dem Hobby heraus erstellen möchte. Es geht darum eine App zum Prüfen von Baumschinen zu erstellen. Ich habe die App in Xcode mit Swift5 geschrieben.
Ich habe es ausgiebig getestet im Simulator und auf dem iPad im Entwicklermodus. Hier bekam ich keinerlei Fehler oder Abbrüche. Nun wollte ich den TestFlight Modus mal versuchen von dem ich gelesen habe. Nun habe ich die App hoch geladen und installiert. In einem View wird dann eine Unterschrift gesetzt und als jpg abgespeichert. Beim Bestätigen der Unterschrift stürzt die App vollständig ab. Nun habe ich leider keinen Debug Modus um Meldungen zu sehen.
Die gleiche Funktion habe ich bei einer iPhone App auch programmiert und dort ohne Probleme.
Nun wie gehe ich vor um den Fehler zu finden? Suche schon seit 2 Tagen mein Problem was das verursacht und muss mich leider ans Forum hier wenden.
Im Anhang der Code vom View. Es wurde einmal RealmSwift und TouchDraw importiert wie im anderen Projekt auch schon.
Alles anzeigen
zur Zeit sitze ich an einem Übungsprojekt, das ich für einen Freund aus dem Hobby heraus erstellen möchte. Es geht darum eine App zum Prüfen von Baumschinen zu erstellen. Ich habe die App in Xcode mit Swift5 geschrieben.
Ich habe es ausgiebig getestet im Simulator und auf dem iPad im Entwicklermodus. Hier bekam ich keinerlei Fehler oder Abbrüche. Nun wollte ich den TestFlight Modus mal versuchen von dem ich gelesen habe. Nun habe ich die App hoch geladen und installiert. In einem View wird dann eine Unterschrift gesetzt und als jpg abgespeichert. Beim Bestätigen der Unterschrift stürzt die App vollständig ab. Nun habe ich leider keinen Debug Modus um Meldungen zu sehen.
Die gleiche Funktion habe ich bei einer iPhone App auch programmiert und dort ohne Probleme.
Nun wie gehe ich vor um den Fehler zu finden? Suche schon seit 2 Tagen mein Problem was das verursacht und muss mich leider ans Forum hier wenden.
Im Anhang der Code vom View. Es wurde einmal RealmSwift und TouchDraw importiert wie im anderen Projekt auch schon.
Quellcode
- import UIKit
- import RealmSwift
- import TouchDraw
- class SignatureViewController: UIViewController {
- @IBOutlet weak var touchDrawView: TouchDrawView!
- var signatureImage: UIImage?
- var checklistFromSegue: ChecklistClass?
- var checklist: ChecklistClass?
- override func viewDidLoad() {
- super.viewDidLoad()
- touchDrawView.clearDrawing()
- touchDrawView.setWidth(3.0)
- if let checklist = checklistFromSegue {
- loadChecklistFromSegue(with: checklist)
- }
- }
- override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
- if segue.identifier == "PDFIdentifierSegue" {
- let navigationController = segue.destination as? UINavigationController
- let pdfViewController = navigationController?.viewControllers.first! as! PDFViewController
- pdfViewController.checklistFromSegue = checklist
- }
- }
- func loadChecklistFromSegue(with checklist: ChecklistClass) {
- self.checklist = checklist
- self.navigationItem.title = "\(checklist.inventoryNumber) | \(checklist.manufacturer) | \(checklist.machine) | \(checklist.type)"
- }
- @IBAction func deleteSignatureButtonHandler(_ sender: UIBarButtonItem) {
- touchDrawView.clearDrawing()
- }
- @IBAction func saveSignatureButtonHandler(_ sender: UIButton) {
- if touchDrawView.exportStack().count > 0 {
- self.signatureImage = touchDrawView.exportDrawing()
- let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
- let fileName = "\(checklist!.inventoryNumber)_\(DateClass.getCurrentFormattedDateWithoutPoints())_\(checklist!.id)Signature.jpg"
- let fileURL = documentsDirectory.appendingPathComponent(fileName)
- if let data = self.signatureImage?.jpegData(compressionQuality: 1.0) {
- try! data.write(to: fileURL)
- checklist?.signature = fileURL.absoluteString
- self.performSegue(withIdentifier: "PDFIdentifierSegue", sender: self)
- } else {
- AlertView.showAlertView(with: "Fehler beim Unterschreiben", and: "Es trat ein unerwarteter Fehler auf. Bitte versuchen sie es nochmal.", in: self)
- }
- } else {
- AlertView.showAlertView(with: "Unterschrift", and: "Das Prüfprotokoll kann nur nach einer Unterschrift erstellt werden.", in: self)
- }
- }
- }