【问题标题】:App wont run once disconnected from Xcode与 Xcode 断开连接后,应用程序将无法运行
【发布时间】:2019-06-03 02:46:37
【问题描述】:

我的应用程序在连接到 Xcode 时运行良好。 (我使用的是 Xcode 10.1) 但是一旦我断开设备并再次启动应用程序(通过点击图标)就会出现启动屏幕并且应用程序关闭。这不是真正的崩溃,因为应用程序在连接电线时可以正常工作。我的应用程序中也集成了 Crashlytics,它的仪表板上也没有崩溃。

我尝试过的事情:

  1. 清理并构建代码。
  2. 重启设备。
  3. 转到窗口 -> 设备和模拟器并尝试检查设备 日志(正如App crash when cable disconnected from Mac 建议的那样),但我没有在那里找到任何东西。

这里是日志:

日期/时间:2018-12-07 12:36:24 +0500 结束时间:2018-12-07 12:36:26 +0500 操作系统版本:iPhone OS 12.0.1(Build 16A404) 架构:arm64 报告版本:27 事件标识符: 4DAE256F-7C3C-4CF5-A670-BD0FA2498CA5

数据源:Microstackshots 共享缓存:0x8fe0000 5D8B6846-4668-3CAC-9CC4-4A762D54BE9E

命令:Cuufy 路径:
/private/var/containers/Bundle/Application/EDAA1D65-BB6F-4722-8619-FDFED10DC045/Cuufy.app/Cuufy 标识符:com.cuufyLLC.cuufy 版本:1.3 (1) Beta 标识符:A032A60E-406C-442D-836A-80540F61ADCA PID:2478

事件:唤醒操作:无唤醒:45001 过去 141 秒内的唤醒次数(平均每秒 318 次唤醒), 超过 300 秒超过每秒 150 次唤醒的限制 限制:45000 限制持续时间:300 秒引起的唤醒:45001 持续时间: 1.99s 步数:3

硬件型号:iPhone9,1 活动 CPU:2 引导参数:

目标进程的最重堆栈:3 ??? (libsystem_pthread.dylib + 49392) [0x189ad20f0] 3 ??? (libdispatch.dylib + 73472) [0x1898a0f00] 3 ??? (libdispatch.dylib + 38752) [0x189898760] 3 ??? (libdispatch.dylib + 35864) [0x189897c18] 3 ??? (libdispatch.dylib + 398468) [0x1898f0484] 3 ??? (libdispatch.dylib + 394952) [0x1898ef6c8] 3 ??? ( + 59736) [0x101a6e958] 2 ??? ( + 61980) [0x101a6f21c] 2 ??? (libsystem_c.dylib + 480420) [0x1899c24a4] 1 ??? (libsystem_kernel.dylib + 144424) [0x189a4d428]

Powerstats:Cuufy [2478] UUID:
907E938F-A407-382A-BFE9-BB62948993A1 路径:
/private/var/containers/Bundle/Application/EDAA1D65-BB6F-4722-8619-FDFED10DC045/Cuufy.app/Cuufy 架构:arm64 父级:未知 [1] UID:
501 占用空间:202.73 MB 开始时间:2018-12-07 12:36:24 +0500 结束时间:2018-12-07 12:36:26 +0500 样本数:3 (100%) CPU 时间:1.501s 主要状态:2 个样本 最前面 应用程序、非抑制、用户模式、用户启动的有效线程 QoS、 请求的线程 QoS 用户启动,覆盖线程 QoS 未指定 用户活动:0 个样本空闲,0 个样本活动,3 个样本未知 电源:电池上 0 个样本,AC 上 0 个样本,3 个样本 未知 3 _pthread_wqthread + 311 (libsystem_pthread.dylib + 49392) [0x189ad20f0] 3 _dispatch_workloop_worker_thread + 599 (libdispatch.dylib + 73472) [0x1898a0f00] 3 _dispatch_lane_invoke$VARIANT$mp + 431 (libdispatch.dylib + 38752) [0x189898760] 3 _dispatch_lane_serial_drain$VARIANT$mp + 591 (libdispatch.dylib + 35864) [0x189897c18] 3 _dispatch_client_callout + 15 (libdispatch.dylib + 398468) [0x1898f0484] 3 _dispatch_call_block_and_release + 23 (libdispatch.dylib + 394952) [0x1898ef6c8] 3 thunk for @escaping @callee_guaranteed -> () (WebSocket.swift:0) (WebSocket.swift:0 in Starscream + 59736) [0x101a6e958] FoundationStream.connect (WebSocket.swift:209) 中的 2 闭包 #1 (红蜘蛛中的 WebSocket.swift:209 + 61980) [0x101a6f21c] 2 睡眠 + 63 (libsystem_c.dylib + 480420) [0x1899c24a4] 1 __semwait_signal + 8 (libsystem_kernel.dylib + 144424) [0x189a4d428] 1 1 nanosleep + 211 (libsystem_c.dylib + 480720) [0x1899c25d0] 1 __semwait_signal + 23 (libsystem_kernel.dylib + 144440) [0x189a4d438] 1 _pthread_exit_if_canceled + 0 (libsystem_pthread.dylib + 52556) [0x189ad2d4c] FoundationStream.connect 中的 1 个闭包 #1 (WebSocket.swift:216) (WebSocket.swift:216 in Starscream + 62020) [0x101a6f244] 1 CFWriteStreamCopyError + 0 (CoreFoundation + 772364) [0x189e5690c]

二进制图像: 0x100524000 - ??? Cuufy /private/var/containers/Bundle/Application/EDAA1D65-BB6F-4722-8619-FDFED10DC045/Cuufy.app/Cuufy 0x101a60000 - ??? ??? 红蜘蛛 0x18988f000 - 0x1898fffff libdispatch.dylib /usr/lib/system/libdispatch.dylib 0x18994d000 - 0x1899cbfff libsystem_c.dylib /usr/lib/system/libsystem_c.dylib 0x189a2a000 - 0x189a54fff libsystem_kernel.dylib /usr/lib/system/libsystem_kernel.dylib 0x189ac6000 - 0x189ad6fff libsystem_pthread.dylib /usr/lib/system/libsystem_pthread.dylib 0x189d9a000 - 0x18a0fffff 核心基础 /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation

【问题讨论】:

  • 你的设备日志是什么
  • @SPatel 我已经更新了这个问题。请检查。
  • @kinza 您是否在 Appdelegate 或您的视图生命周期方法中做任何繁重的工作?
  • @MidhunMP No :( 只是发布一些本地通知。
  • @kinza:请您评论一下本地通知发布并检查此问题是否仍然存在,您是否在任何可能影响初始加载的地方使用 dispatch_queues 或 NSThread ?

标签: ios swift xcode crash xcode10.1


【解决方案1】:

我认为这与 Starscream Websocket 库的使用和/或设备的网络连接有关。

当设备在模拟器中运行时,它使用你的 Mac(Book/Pro/etc.)的网络连接;当它自己运行时,它使用设备的 wifi/蜂窝连接。

因此,我认为由于设备连接性,您将面临一些高延迟。

  • 检查网络连通性
  • 尝试禁用(注释)Starscrem 用法并检查应用程序是否正在启动
  • 在显示任何内容之前检查 UI 是否正在等待网络数据

【讨论】:

    【解决方案2】:

    在我的初始屏幕代码中,我试图访问方案集的环境变量,在此基础上我设置了一些视图。当设备与电线连接时,这些变量是可访问的,但在设备未连接时返回 nil(如果有人能解释这个原因,我将不胜感激) 因此,为了解决这个问题,我删除了方案并创建了目标,设置自定义标志(以我之前使用环境变量所做的工作为基础),然后按照this 问题的第二个答案中的描述访问它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      • 2018-05-28
      • 2014-08-19
      • 2020-04-20
      相关资源
      最近更新 更多