Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

App crash on device but works on simulator iOS

App wasn't developed by me, but now I have to add some features. Code compiles add launches on simulator but immediately crash on real device (didFinishLaunchingWithOptions never calls). Xcode doesn't show any errors. I think the problem may be in pods and frameworks but don't know how to check if this so. I reinstalled pods and recreated framework dependences in project but no app still crash. I have only this info from Xcode enter image description here enter image description here

How this info can help me? Any help appreciated.

UPD1: stacktrace enter image description here

UPD2: App crash on iOS9 and iOS10 so NSCameraUsageDescription isn't the problem

like image 452
Ossir Avatar asked Nov 30 '16 10:11

Ossir


2 Answers

Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Termination Description: DYLD, Library not loaded: @rpath/libswiftCoreGraphics.dylib | Referenced from: /var/containers/Bundle/Application/7208AD66-5D56-4973-88A9-8D22D7E541DB/myapp.app/myapp | Reason: no suitable image found. Did find: | /private/var/containers/Bundle/Application/7208AD66-5D56-4973-88A9-8D22D7E541DB/myapp.app/Frameworks/libswiftCoreGraphics.dylib: code signing blocked mmap() '/private/var/containers/Bundle/Application/7208AD66-5D56-4973-88A9-8D22D7E541DB/myapp.app/Frameworks/libswiftCoreGraphics.dylib'

When crashed on 'abort_with_payload', I also got the above output from the console. I think the most important message is "code signing blocked mmap()", which indicates the problem was probably caused by code signing.

My solution was to delete the apple WWDR certificate and downloaded it from Apple. And MAKE SURE when trusting the certificate, use the "use system defaults" option.

enter image description here

Then QUIT the XCode, reopened it, cleaned the project and rebuilt. It works for me.

like image 133
Jiang Wang Avatar answered Oct 28 '22 02:10

Jiang Wang


The problem was in pods frameworks. Script generated by pods can't embed some frameworks correctly. I removed "[CP] Embed Pods Frameworks" script and add frameworks to "Embedded Binaries" by myself. And problem was solved.

like image 25
Ossir Avatar answered Oct 28 '22 02:10

Ossir