【问题标题】:Xamarin iOS app crash when start on iPad Air 2 with iOS 13.3.1Xamarin iOS 应用程序在装有 iOS 13.3.1 的 iPad Air 2 上启动时崩溃
【发布时间】:2020-03-30 15:00:10
【问题描述】:

我尝试在 13.3.1 作为 iOS 的 iPad Air 2 上启动 Xamarin iOS 应用程序

部分日志,我通过 pastebin 完整粘贴在下面:

1   Incident Identifier: C8DA7CE0-06EF-4E08-A74A-60C8E455C3AA
    2   Beta Identifier:     FDF534D6-89BA-486F-988F-154845125DEB
    3   Hardware Model:      iPad5,3
    4   Process:             MyApp.Forms.iOS [1525]
    5   Path:                /private/var/containers/Bundle/Application/8D581BA0-F6EE-4F49-9AA8-239728A46E68/MyApp.Forms.iOS.app/MyApp.Forms.iOS
    6   Identifier:          com.MyApp.R17
    7   Version:             99 (17.2004.0)
    8   AppStoreTools:       11C29
    9   AppVariant:          1:iPad5,3:13
    10  Beta:                YES
    11  Code Type:           ARM-64 (Native)
    12  Role:                Foreground
    13  Parent Process:      launchd [1]
    14  Coalition:           com.MyApp.R17 [662]

这是完整的日志:

https://pastebin.com/jHsNYDdf

有图片我如何在最新的 Visual Studio for Mac 上构建 Xamarin iOS

我在具有相同 iPad 类型和相同 iOS 版本的模拟器上开始没有问题...

问题发生在物理 iPad 上...

能告诉我出了什么问题吗?

【问题讨论】:

  • 您的 pastebin 链接是私有的,您发布的日志部分对于确定正在发生的事情并没有真正有用:)
  • @GeraldVersluis 抱歉,我现在公开了...日志非常非常大。
  • 我在 DEBUG 中尝试过,似乎可以正常工作。奇怪

标签: xamarin.forms xamarin.ios


【解决方案1】:

0 libsystem_kernel.dylib 0x00000001891bfec4 __pthread_kill + 8 1 libsystem_pthread.dylib 0x00000001890db1d8 pthread_kill$VARIANT$mp + 136 >(pthread.c:1458) 2 libsystem_c.dylib 0x000000018902f8c0 __abort + 112 (abort.c:147) 3 libsystem_c.dylib
0x000000018902f850 中止 + 112 (abort.c:118)

在物理设备中出现此错误,有时是因为未在 info.plist 中添加权限。在模拟器中可能不会出现错误,但是在物理设备中是可以的。

例如:在info.plist中添加照片和相机权限,

<key>NSCameraUsageDescription</key>
<string>Use Camera</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Use Photo</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Use Photo addition</string>

查看Accessing Private User Data 以检查您所需的权限。

注意

未能提供所需密钥的应用在尝试访问受限功能或用户信息之一时将被系统静默终止,没有错误!如果应用在 iOS 10 上意外启动失败,请确保已指定所有必需的 Info.plist

【讨论】:

  • 如果权限问题,这会在调试模式下工作还是应该崩溃?
  • @SnakeEyes 无论是调试还是发布模式,都可以在模拟器中运行,在物理设备中也可以崩溃。我认为这与构建模型无关。
  • 我在设备上部署了 DEBUG 模式,似乎运行没有问题......但在 RELEASE 上,它碰巧崩溃了。找不到解释
  • @SnakeEyes 如果需要运行释放模式,你应该enable debuging
  • @SnakeEyes 您好,如果想将应用交付给客户,您应该配置分发配置文件。看看Xamarin.iOS app distribution overview。我认为这与构建模型无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-26
  • 1970-01-01
  • 2011-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多