应用程序崩溃在设备上,但适用于模拟器iOS

时间:2016-11-30 10:54:29

标签: ios iphone swift xcode ios-frameworks

应用程序不是由我开发的,但现在我必须添加一些功能。代码编译在模拟器上添加启动但在真实设备上立即崩溃(didFinishLaunchingWithOptions从不调用)。 Xcode没有显示任何错误。我认为问题可能在pods和框架中,但不知道如何检查是否如此。我重新安装了pods并在项目中重新创建了框架依赖项,但没有应用程序仍然崩溃。我只有Xcode的这些信息 enter image description here enter image description here

这些信息如何帮助我?任何帮助表示赞赏。

UPD1:堆栈跟踪 enter image description here

UPD2:应用程序在iOS9和iOS10上崩溃,因此NSCameraUsageDescription不是问题

5 个答案:

答案 0 :(得分:6)

遇到了同样的问题,在模拟器上工作,但没有在设备上工作,得到了这个精彩但极简主义的堆栈跟踪" abort_with_payload"

原来我只需要" NSMicrophoneUsageDescription"关键在我的plist

答案 1 :(得分:4)

问题出在pods框架中。 pod生成的脚本无法正确嵌入某些框架。我删除了" [CP] Embed Pods Frameworks"脚本并将框架添加到"嵌入式二进制文件"我自己。问题解决了。

答案 2 :(得分:3)

如果发生abort_with_payload错误,那么很可能Info.plist缺少UsageDescription任何隐私密钥,因此请检查是否有任何遗漏或苹果更改/添加新的UsageDescription用于相机,照片,位置等你正在使用。

答案 3 :(得分:1)

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'

当崩溃' abort_with_payload'时,我也从控制台获得了上述输出。我认为最重要的信息是"代码签名被阻止mmap()",这表明问题可能是由代码签名引起的。

我的解决方案是删除Apple WWDR证书并从Apple下载。在确信证书时,请务必使用"使用系统默认值"选项。

enter image description here

然后退出XCode,重新打开它,清理项目并重建。这个对我有用。

答案 4 :(得分:0)

当您在子项目中具有XIB并且它们具有嵌入式UIView时,也会发生这种情况。然后,这些UIView应该选择了正确的模块!