关于 xamarin:iOS 应用程序在启动错误时崩溃

iOS app crashs on startup error

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

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

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

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

Incident Identifier: D467E779-D524-4F17-A125-4024E1C088D7
CrashReporter Key: 14d9c0d9f9fd92fe140f6f76ff2facb91db70c6e
Hardware Model: iPhone5,2 Process: tabbed
[974] Path:
/private/var/containers/Bundle/Application/E5A36250-868F-4330-A950-1E9A6FE13294/tabbed.app/tabbed
Identifier: it.fi.comune.firenzeup Version:
1.1.38 (1.1.38) Code Type: ARM (Native) Parent Process: launchd [1] Date/Time:
2016-09-15 14:44:56.56 +0200 Launch Time: 2016-09-15
14:44:55.55 +0200 OS Version: iOS 9.3.4 (13G35)
Report Version: 105 Exception Type: EXC_CRASH
(SIGABRT) Exception Codes: 0x0000000000000000,
0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 0 Filtered syslog: None
found Last Exception Backtrace: (0x21639b06
0x20df6dfa 0xa9b56 0xdaff8 0x20df7ab6 0x20dfd998 0x20dfd89e 0x20e03d16
0x7ed9ce 0x7ee5de 0x1e92ac 0x7ee74c 0x211f486e) Thread
0 name: Dispatch queue: com.apple.main-thread Thread 0
Crashed: 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 +
28824 6 libc++abi.dylib 0x20de8e16 0x20dd2000 +
93718 7 libc++abi.dylib 0x20de85f4 0x20dd2000 +
91636 8 libobjc.A.dylib 0x20df6ed2 0x20df0000 +
28370 9 tabbed 0x000a9b5a 0x8000 +
662362 10 tabbed 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 tabbed 0x007ed9d2 0x8000 +
8280530 16 tabbed 0x007ee5e2 0x8000 +
8283618 17 tabbed 0x001e92b0 0x8000 +
1970864 18 tabbed 0x007ee750 0x8000 +
8283984 19 libdyld.dylib 0x211f4872 0x211f2000 +
10354 Thread 1: 0 libsystem_kernel.dylib
0x212c8864 0x212b3000 + 88164 1 libsystem_pthread.dylib
0x2136ae18 0x2136a000 + 3608 2 libsystem_pthread.dylib
0x2136a9fc 0x2136a000 + 2556 Thread 2 name: Dispatch
queue: com.apple.libdispatch-manager Thread 2: 0
libsystem_kernel.dylib 0x212c92f8 0x212b3000 + 90872 1
libdispatch.dylib 0x211db836 0x211c7000 + 84022 2
libdispatch.dylib 0x211cd916 0x211c7000 + 26902
Thread 3: 0 libsystem_kernel.dylib 0x212c8864
0x212b3000 + 88164 1 libsystem_pthread.dylib 0x2136ae18
0x2136a000 + 3608 2 libsystem_pthread.dylib 0x2136a9fc
0x2136a000 + 2556 Thread 4: 0
libsystem_kernel.dylib 0x212c8864 0x212b3000 + 88164 1
libsystem_pthread.dylib 0x2136ae18 0x2136a000 + 3608 2
libsystem_pthread.dylib 0x2136a9fc 0x2136a000 + 2556
Thread 0 crashed with ARM Thread State (32-bit):
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 Binary Images:
0x8000 - 0x90bfff tabbed armv7
/var/containers/Bundle/Application/E5A36250-868F-4330-A950-1E9A6FE13294/tabbed.app/tabbed
0x1feba000 - 0x1fee1fff dyld armv7s
<023542032680372f8d383c4c2b42a8a3> /usr/lib/dyld 0x20d84000 -
0x20d85fff libSystem.B.dylib armv7s
<97146dbaa54a32f5bb5371bbdb465368> /usr/lib/libSystem.B.dylib
0x20d86000 - 0x20dd1fff libc++.1.dylib armv7s
<82abc45878c53dfd8e59d088ead88952> /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
<2b39436eaf1c3aa384dc88d909bb82ea> /usr/lib/system/libcache.dylib
0x21160000 - 0x21169fff libcommonCrypto.dylib armv7s
<39d4afd1f66738cd839cb5653496c3ee>
/usr/lib/system/libcommonCrypto.dylib 0x2116a000 - 0x2116efff
libcompiler_rt.dylib armv7s <1b2198e6340836198081bc7f5f1877fa>
/usr/lib/system/libcompiler_rt.dylib 0x2116f000 - 0x21175fff
libcopyfile.dylib armv7s <71718805ccf33657b701b893581eac47>
/usr/lib/system/libcopyfile.dylib 0x21176000 - 0x211c6fff
libcorecrypto.dylib armv7s <336af202343e3aeb9dfca3c78bc2da15>
/usr/lib/system/libcorecrypto.dylib 0x211c7000 - 0x211f1fff
libdispatch.dylib armv7s <6a8fa64935873703b59839b66ee598fc>
/usr/lib/system/libdispatch.dylib 0x211f2000 - 0x211f4fff
libdyld.dylib armv7s <7da9a8ef840834c3ba50a1adaffecad5>
/usr/lib/system/libdyld.dylib

谁能帮帮我?
谢谢


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

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

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

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

  • --linkskip System.Threading.Tasks

  • --linkskip System.ComponentModel.DataAnnotations

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

在 Visual Studio 中,您可以将参数添加为 \\'Additional mtouch arguments\\'
Visual Studio 图像