【问题标题】:iOS app crashs on startup erroriOS 应用程序因启动错误而崩溃
【发布时间】:2016-09-16 09:13:22
【问题描述】:

我注意到我从 Appstore 安装在 iPhone 上的应用在启动后立即崩溃。我将它从手机中取出并重新安装,一切正常。

现在我必须修改那个应用程序,我用 Visual Studio 和 xamarin 开发了它。 当我尝试在设备上调试应用程序时,我只能看到启动图像,然后应用程序崩溃

我尝试在 Visual Studio 上的 AppDelegate.cs 文件中设置断点,但没有一个被命中。

在mac上找到的崩溃日志是:

事件标识符:D467E779-D524-4F17-A125-4024E1C088D7
CrashReporter 密钥:14d9c0d9f9fd92fe140f6f76ff2facb91db70c6e
硬件型号:iPhone5,2
工艺:分页 [974]
路径:
/private/var/containers/Bundle/Application/E5A36250-868F-4330-A950-1E9A6FE13294/tabbed.app/tabbed
标识符:it.fi.comune.firenzeup
版本:
1.1.38 (1.1.38)
代码类型:ARM(本机)
父进程:launchd [1]


日期/时间:
2016-09-15 14:44:56.56 +0200
上线时间:2016-09-15 14:44:55.55 +0200
操作系统版本:iOS 9.3.4 (13G35)
报告版本:105


异常类型:EXC_CRASH (SIGABRT)
异常代码:0x0000000000000000, 0x0000000000000000
异常说明:EXC_CORPSE_NOTIFY
由线程触发:0


过滤的 syslog:
无 找到


上次异常回溯:
(0x21639b06 0x20df6dfa 0xa9b56 0xdaff8 0x20df7ab6 0x20dfd998 0x20dfd89e 0x20e03d16 0x7ed9ce 0x7ee5de 0x1e92ac 0x7ee74c 0x211f486e)


线程 0 名称:调度队列:com.apple.main-thread
线程 0 崩溃:
0 libsystem_kernel.dylib 0x212c7c5c 0x212b3000 + 85084
1 libsystem_pthread.dylib 0x2136db46 0x2136a000 + 15174
2 libsystem_c.dylib 0x2125c0c4 0x21211000 + 307396
3 libc++abi.dylib 0x20dd27dc 0x20dd2000 + 2012
4 libc++abi.dylib 0x20deb6a0 0x20dd2000 + 104096
5 libobjc.A.dylib 0x20df7098 0x20df0000 + 2882​​4
6 libc++abi.dylib 0x20de8e16 0x20dd2000 + 93718
7 libc++abi.dylib 0x20de85f4 0x20dd2000 + 91636
8 libobjc.A.dylib 0x20df6ed2 0x20df0000 + 28370
9 选项卡式 0x000a9b5a 0x8000 + 662362
10 选项卡式 0x000daffc 0x8000 + 864252
11 libobjc.A.dylib 0x20df7aba 0x20df0000 + 31418
12 libobjc.A.dylib 0x20dfd99c 0x20df0000 + 55708
13 libobjc.A.dylib 0x20dfd8a2 0x20df0000 + 55458
14 libobjc.A.dylib 0x20e03d1a 0x20df0000 + 81178
15 选项卡式 0x007ed9d2 0x8000 + 8280530
16 选项卡式 0x007ee5e2 0x8000 + 8283618
17 选项卡式 0x001e92b0 0x8000 + 1970864
18 选项卡式 0x007ee750 0x8000 + 8283984
19 libdyld.dylib 0x211f4872 0x211f2000 + 10354


线程 1:
0 libsystem_kernel.dylib
0x212c8864 0x212b3000 + 88164
1 libsystem_pthread.dylib
0x2136ae18 0x2136a000 + 3608
2 libsystem_pthread.dylib
0x2136a9fc 0x2136a000 + 2556


线程 2 名称:调度 队列:com.apple.libdispatch-manager
线程 2:
0
libsystem_kernel.dylib 0x212c92f8 0x212b3000 + 90872
1
libdispatch.dylib 0x211db836 0x211c7000 + 84022
2
libdispatch.dylib 0x211cd916 0x211c7000 + 26902


线程 3:
0 libsystem_kernel.dylib 0x212c8864 0x212b3000 + 88164
1 libsystem_pthread.dylib 0x2136ae18 0x2136a000 + 3608
2 libsystem_pthread.dylib 0x2136a9fc 0x2136a000 + 2556


线程 4:
0
libsystem_kernel.dylib 0x212c8864 0x212b3000 + 88164
1
libsystem_pthread.dylib 0x2136ae18 0x2136a000 + 3608
2
libsystem_pthread.dylib 0x2136a9fc 0x2136a000 + 2556


线程 0 因 ARM 线程状态(32 位)而崩溃:
r0: 0x00000000 r1: 0x00000000 r2: 0x00000000 r3: 0x00000000
r4: 0x00000006 r5: 0x382b9000 r6: 0x37516304 r7: 0x014e68e8
r8: 0x17d61670 r9: 0x20dec8fc r10: 0x2665fd10 r11: 0x17d61694
ip: 0x00000148 sp: 0x014e68dc lr: 0x2136db47 pc: 0x212c7c5c
cpsr: 0x00000010


二进制图像:
0x8000 - 0x90bff 选项卡式 armv7 /var/containers/Bundle/Application/E5A36250-868F-4330-A950-1E9A6FE13294/tabbed.app/tabbed
0x1feba000 - 0x1fee1fff dyld armv7s /usr/lib/dyld
0x20d84000 - 0x20d85fff libSystem.B.dylib armv7s /usr/lib/libSystem.B.dylib
0x20d86000 - 0x20dd1fff libc++.1.dylib armv7s /usr/lib/libc++.1.dylib
0x20dd2000 - 0x20decfff libc++abi.dylib armv7s /usr/lib/libc++abi.dylib
0x20df0000 - 0x2115afff libobjc.A.dylib armv7s /usr/lib/libobjc.A.dylib
0x2115b000 - 0x2115ffff libcache.dylib armv7s /usr/lib/system/libcache.dylib
0x21160000 - 0x21169fff libcommonCrypto.dylib armv7s /usr/lib/system/libcommonCrypto.dylib
0x2116a000 - 0x2116efff libcompiler_rt.dylib armv7s /usr/lib/system/libcompiler_rt.dylib
0x2116f000 - 0x21175fff libcopyfile.dylib armv7s /usr/lib/system/libcopyfile.dylib
0x21176000 - 0x211c6fff libcorecrypto.dylib armv7s /usr/lib/system/libcorecrypto.dylib
0x211c7000 - 0x211f1fff libdispatch.dylib armv7s /usr/lib/system/libdispatch.dylib
0x211f2000 - 0x211f4fff libdyld.dylib armv7s /usr/lib/system/libdyld.dylib

谁能帮助我? 谢谢

【问题讨论】:

  • 已解决 - info.plist 有问题,NSMainNibFile 中指定的控制器实际上从未被调用过,应用程序委托调用另一个视图。我从 plist 文件中删除了密钥,现在一切正常。不知道为什么它之前没有引起问题。

标签: xamarin


【解决方案1】:

我在创建的 Xamarin 应用程序中遇到了类似的问题。 我的问题与程序集链接器有关。

链接器最初设置为'不链接'。这不是最优的,因为应用程序的大小会很大。 所以我将设置更改为“仅链接 SDK 程序集”。应用程序大小显着减小,但链接器有点严格。

我不得不告诉链接器跳过一些程序集。通过反复试验,我得出了以下需要包含的程序集:

  • --linkskip System.Runtime
  • --linkskip System.IO.FileNotFoundException
  • --linkskip System.Threading

  • --linkskip System.Threading.Tasks

  • --linkskip System.ComponentModel.DataAnnotations

这并不意味着这些程序集也会影响您,但可能会为您提供线索,帮助您找到解决方案。

在 Visual Studio 中,您可以将参数添加为“附加 mtouch 参数” Visual Studio image

【讨论】:

    猜你喜欢
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多