应用程序断开与 Xcode 后无法运行

3
我的应用程序在连接到Xcode时运行得很好。(我使用的是Xcode 10.1) 但是,一旦我断开设备并再次启动应用程序(通过点击图标),启动画面出现并关闭应用程序。这不是真正的崩溃,因为连接电线时应用程序可以正常工作。我还在我的应用程序中集成了Crashlytics,在其仪表板上也没有崩溃。
我尝试过的事情:
1. 清除并构建代码。 2. 重新启动设备。 3. 转到窗口->设备和模拟器,并尝试检查设备日志(如从Mac断开电缆时应用程序崩溃所建议的),但我在那里没有找到任何内容。
以下是日志:
日期/时间:2018年12月7日12:36:24 +0500 结束时间:2018年12月7日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秒内有45001次唤醒(平均每秒318次唤醒),超过了300秒内每秒150次唤醒的限制 唤醒限制:45000 限制持续时间:300s 引起唤醒: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 ??? (<38F5549F-536E-3252-B54B-8CA43AD79EB0> + 59736) [0x101a6e958] 2 ??? (<38F5549F-536E-3252-B54B-8CA43AD79EB0> + 61980) [0x101a6f21c] 2 ??? (libsystem_c.dylib + 480420) [0x1899c24a4] 1 ??? (libsystem_kernel.dylib + 144424) [0x189a4d428] Powerstats for: Cuufy [2478] UUID:
907E938F-A407-382A-BFE9-BB62948993A1 Path:
/private/var/containers/Bundle/Application/EDAA1D65-BB6F-4722-8619-FDFED10DC045/Cuufy.app/Cuufy 架构:arm64 父级:UNKNOWN [1] UID:
501 占用内存:202.73 MB 开始时间:2018年12月7日12:36:24 +0500 结束时间:2018年12月7日12:36:26 +0500 样本数量:3(100%) CPU时间:1.501秒 主要状态:2个样本 最前面的应用程序,非抑制,用户模式,有效线程QoS用户启动,请求的线程QoS用户启动,覆盖线程QoS未指定 用户活动:0个样本空闲,0个样本活动,3个样本未知 电源来源:0个样本在电池上,0个样本在交流电上,3个样本未知 3 _pthread_wqthread

你的设备日志是什么? - SPatel
@kinza 你在Appdelegate或者视图生命周期方法中做了一些繁重的工作吗? - Midhun MP
@MidhunMP 不好意思,只是发布一些本地通知。 - kinza
@kinza:你能否将那个本地通知的发布注释掉,并检查一下是否仍然存在这个问题?另外,请问你在任何地方使用了dispatch_queues或NSThread,这可能会影响初始加载吗? - Midhun MP
尝试在设备上构建应用程序,断开连接后再在设备上启动它。附注:请勿在连接时启动应用程序。 - Mohmmad S
显示剩余3条评论
2个回答

0

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

当设备在模拟器中运行时,它使用的是您的Mac(Book/Pro等)的网络连接;当它独立运行时,它使用设备的Wi-Fi/蜂窝网络连接。

因此,我认为您只会面临一些由于设备连接性而导致的高延迟问题。

  • 检查网络连接
  • 尝试禁用(注释掉)Starscream的使用,并检查应用程序是否启动
  • 检查UI是否在显示任何内容之前等待网络数据

0
在我的启动画面代码中,我试图访问基于设置的方案的环境变量,然后根据这些变量设置一些视图。当设备通过线缆连接时,这些变量是可访问的,但是当设备未连接时返回nil(如果有人能解释一下原因,我会很感激)。 为了解决这个问题,我删除了方案,改为创建目标,并设置自定义标志(以便基于之前使用环境变量进行的工作),然后按照this问题的第二个答案所描述的方式访问它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接