oeste
oeste

Reputation: 1539

Unable to read iOS Crash Log - is it symbolicated?

Is this iOS crash log symbolicated? It came from beta app review, so didn't auto symbolicate, but I imported it into the device crash logs, which apple said would use the dsym file to symbolicate.

If it is, then how do I interpret this and where the problem is? It doesn't crash on any of my devices or simulators, or our internal testers...

Apple said it crashes on launch and when clicking the button on the home screen to start.

Date/Time:           2018-04-04 08:46:45.5260 -0700
Launch Time:         2018-04-04 08:46:42.5743 -0700
OS Version:          iPhone OS 11.2.6 (15D100)
Baseband Version:    6.30.04
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  0

Application Specific Information:
abort() called

Filtered syslog:
None found

Last Exception Backtrace:
0   CoreFoundation                  0x18502b164 __exceptionPreprocess + 124
1   libobjc.A.dylib                 0x184274528 objc_exception_throw + 55
2   UIKit                           0x18f22cfdc -[UIPopoverPresentationController presentationTransitionWillBegin] + 2775
3   UIKit                           0x18e933b84 __71-[UIPresentationController _initViewHierarchyForPresentationSuperview:]_block_invoke + 2247
4   UIKit                           0x18e931648 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 467
5   UIKit                           0x18e853aa8 _runAfterCACommitDeferredBlocks + 291
6   UIKit                           0x18e846e5c _cleanUpAfterCAFlushAndRunDeferredBlocks + 287
7   UIKit                           0x18e5d8464 _afterCACommitHandler + 131
8   CoreFoundation                  0x184fd2cdc __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 31
9   CoreFoundation                  0x184fd0694 __CFRunLoopDoObservers + 411
10  CoreFoundation                  0x184fd0c50 __CFRunLoopRun + 1291
11  CoreFoundation                  0x184ef0c58 CFRunLoopRunSpecific + 435
12  GraphicsServices                0x186d9cf84 GSEventRunModal + 99
13  UIKit                           0x18e6495c4 UIApplicationMain + 235
14  FriendlyEats                    0x1003c196c 0x1003bc000 + 22892
15  libdyld.dylib                   0x184a1056c start + 3


Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x0000000184b402e8 __pthread_kill + 8
1   libsystem_pthread.dylib         0x0000000184c552f8 pthread_kill$VARIANT$mp + 396
2   libsystem_c.dylib               0x0000000184aaefbc abort + 140
3   libc++abi.dylib                 0x000000018424b068 __cxa_bad_cast + 0
4   libc++abi.dylib                 0x000000018424b210 default_unexpected_handler+ 8720 () + 0
5   libobjc.A.dylib                 0x0000000184274810 _objc_terminate+ 34832 () + 124
6   libc++abi.dylib                 0x000000018426354c std::__terminate(void (*)+ 107852 ()) + 16
7   libc++abi.dylib                 0x0000000184263158 __cxa_rethrow + 144
8   libobjc.A.dylib                 0x00000001842746e8 objc_exception_rethrow + 44
9   CoreFoundation                  0x0000000184ef0cc4 CFRunLoopRunSpecific + 544
10  GraphicsServices                0x0000000186d9cf84 GSEventRunModal + 100
11  UIKit                           0x000000018e6495c4 UIApplicationMain + 236
12  FriendlyEats                    0x00000001003c196c 0x1003bc000 + 22892
13  libdyld.dylib                   0x0000000184a1056c start + 4

The file for the home screen (apple's report said it crashed on launching the app and clicking the button on the home screen that comes from this file).

import UIKit


class HomeViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate  {

    var image = UIImage()

    @IBAction func unwindToThisHomeController(_ segue: UIStoryboardSegue) {
    }


    @IBOutlet weak var backgroundButton: UIButton!

    @IBAction func startButton(_ sender: Any) {
        startButtonTapped()
    }

    let imagePicker = UIImagePickerController()

    func startButtonTapped(){
        let alertController = UIAlertController(title: nil, message: "Select from where you would like to import your landscape photo.", preferredStyle: .actionSheet)

        let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) { action in
            // ...
        }
        alertController.addAction(cancelAction)

        let OKAction = UIAlertAction(title: "Photo Library", style: .default) { action in
            self.imagePicker.allowsEditing = false
            self.imagePicker.sourceType = .photoLibrary
            self.imagePicker.delegate = self;

            self.present(self.imagePicker, animated: true, completion: nil)        }
        alertController.addAction(OKAction)

        let destroyAction = UIAlertAction(title: "Camera", style: .default) { action in
//            print(action)
            self.imagePicker.allowsEditing = false
            self.imagePicker.sourceType = .camera
            self.imagePicker.delegate = self;

            self.present(self.imagePicker, animated: true, completion: nil)
        }
        alertController.addAction(destroyAction)

        self.present(alertController, animated: true) {
        // ...
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
        backgroundImage.image = UIImage(named: "background.jpg")
        backgroundImage.contentMode = UIViewContentMode.scaleAspectFill
        self.view.backgroundColor = UIColor.black
        backgroundImage.alpha = 0.4
        self.view.insertSubview(backgroundImage, at: 0)

        imagePicker.delegate = self


        backgroundButton.layer.cornerRadius = 15
    }




    //MARK: image picker delegate method

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {

        if let img = info[UIImagePickerControllerEditedImage] as? UIImage
        {
            self.image = img
        }
        else if let img = info[UIImagePickerControllerOriginalImage] as? UIImage
        {
            self.image = img
        }


        picker.dismiss(animated: true,completion: {self.performSegue(withIdentifier: "ImageLoaded",
                                                                      sender: self)})

    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "ImageLoaded" {
            if let navController = segue.destination as? UINavigationController {
                if let destinationController = navController.topViewController as? LandscapeDesignViewController {
                    destinationController.backgroundImageHolder.image = self.image
                }
                else {
                    print("inner failure")
                }
            }
            else {
                print("failed")
                print(segue.destination)
            }
        }

    }


    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        dismiss(animated: true, completion: nil)
    }



}

Upvotes: 0

Views: 468

Answers (0)

Related Questions