更新到 iOS 14 和 Xcode 12 后应用启动时间变慢
Slow app launch time after updating to iOS 14 and Xcode 12
我注意到自从将我的设备更新到 iOS 14 并使用 Xcode 12 后,我的应用程序的启动时间显着增加(现在需要整整一分钟,而以前需要几秒钟)。我试过了几个 Xcode 12 beta 和 运行 模拟器中的应用程序没有问题,但是 public 版本似乎带来了这个问题。
我测试了我的几个应用程序,它们都面临这个问题。 运行 即使在重新启动设备后,该应用程序(没有 Xcode)也是即时的。
需要说明的是,我在这里不是在谈论构建时间,这是在启动画面出现并且 Xcode 的状态为 'Running on iPhone' 之后应用程序启动所花费的时间
有没有其他人遇到过这个问题,或者它可能与我的机器有关吗?
我有同样的问题,但通过执行以下操作解决了这个问题:
对于模拟器运行 iOS 14,删除~/Library/Developer/Xcode/iOS DeviceSupport/
中的文件夹(文件夹名称以“14”开头)。
对于设备 运行 iOS 14,select Xcode window
选项卡,单击 Devices and Simulators
,找到您的设备,right-click到unpair the device
完成工作后,re-run你的应用程序,一切都应该没问题。
参考文献:
- Apple 论坛 post:Xcode 11 hangs while attaching debugger to ios process
- Whosebug 回答来自:
删除 ~/Library/Developer/Xcode/iOS DeviceSupport/
并且 unpair/pair 设备不适合我。
单击项目目标的Edit Scheme
,select Run
阶段行,并取消选中Info
选项卡下方的Debug executable
,这解决了我的问题。
- 在 Xcode 菜单中,转到产品 > 方案 > 编辑方案
- 打开“信息”选项卡
- 取消选中“调试可执行文件”复选框
- 关闭 Window.
- 运行 应用程序并查看差异。
我也有这个问题,这里是 Xcode 版本 12.1 (12A7403)。
Xcode“设备和模拟器”中提出的“取消配对”设备的解决方案对我(以及这里的很多人)不起作用。 Xcode 只是在尝试时不断崩溃。
设备Hard-reset也没有解决
对我有什么好处:
删除iOS里面的14.1文件夹~/Library/Developer/Xcode/iOS DeviceSupport
。
然后只需重新打开 Xcode.
Xcode 从 iPhone“复制缓存文件”需要一段时间,但一旦最终完成,正常的调试构建和 运行 行为又回来了,无需长时间延迟。
删除 ~/Library/Developer/Xcode/iOS DeviceSupport/
和 unpair/pair 设备对我也不起作用并禁用 Debug executable
让我无法调试我的程序。
我不知道该怎么做,但是当我将我的 iPhone 从 iOS14 升级到 iOS14.1 时,问题消失了。所以,我认为这应该是一个 iOS 错误。
就我而言,取消配对设备或删除 DeviceSupport
文件均无效。但是我升级到iOS14.1和Xcode12.1后,可以正常使用了。
只需更新iOS and/or Xcode即可解决您的问题。上面给出的其余解决方案只是解决方法,可能并不总是有效。对我来说,上述解决方案的 none 有效。我刚刚更新 iOS 并解决了问题。
解除 phone 与 Xcode
的配对
在 phone 未插入电源的情况下启动 Xcode
将您的 phone 插入
在 Xcode 中的设备下,取消配对您的 phone
- 停止Xcode
- 运行这些
rm -rf ~/Library/Developer/Xcode/iOS\ DeviceSupport
rm -rf ~/Library/Developer/Xcode/iOS\ Device\ Logs
rm -rf ~/Library/Developer/Xcode/DerivedData
- 开始Xcode
- 插入phone插入
这适用于 Xcode 12.2 beta 和 iOS 14.2:
从下面的路径中取消选中 调试可执行文件。
产品 -> 方案 -> 编辑方案 -> Select 运行(左栏)-> 取消选中 调试可执行文件
产品 -> 方案 -> 编辑方案 -> Select 测试(左栏)->取消勾选调试可执行文件
然后关闭并再次运行。
从昨天开始就有同样的问题...
我尝试了这里所有的解决方案,都没有成功。
对我有用的是将调试服务器从 Xcode 11.7 复制到 Xcode 12.5,然后我(几乎)立即启动。
当然,它破坏了交互式调试器,但有助于隔离问题 (LLDB)
经过大量测试,将 macOS 版本降级到 11.2.3 修复了启动问题(回到 3 秒启动而不是 30+ 秒)
降级很容易:
在控制台中,键入:
softwareupdate --fetch-full-installer --full-installer-version 11.2.3
您将在 /Applications 中找到安装程序。
在 2 MBP 上测试没有问题。
编辑:几个小时前发布的11.3.1还是有问题
编辑 2:Xcode13 b1 修复了问题(即使是 MacOS 11.4)。我不知道为什么 Apple 没有发布新的 Xcode 12 修复 LLDB !
编辑 3:Xcode 12.5.1 为我修复了问题
我遇到了同样的问题,我用这种方法解决了
删除里面的文件夹
~/Library/Developer/Xcode/iOS DeviceSupport/
,然后 运行 Xcode 并再次启动应用程序,问题已解决。
我注意到自从将我的设备更新到 iOS 14 并使用 Xcode 12 后,我的应用程序的启动时间显着增加(现在需要整整一分钟,而以前需要几秒钟)。我试过了几个 Xcode 12 beta 和 运行 模拟器中的应用程序没有问题,但是 public 版本似乎带来了这个问题。
我测试了我的几个应用程序,它们都面临这个问题。 运行 即使在重新启动设备后,该应用程序(没有 Xcode)也是即时的。
需要说明的是,我在这里不是在谈论构建时间,这是在启动画面出现并且 Xcode 的状态为 'Running on iPhone' 之后应用程序启动所花费的时间
有没有其他人遇到过这个问题,或者它可能与我的机器有关吗?
我有同样的问题,但通过执行以下操作解决了这个问题:
对于模拟器运行 iOS 14,删除~/Library/Developer/Xcode/iOS DeviceSupport/
中的文件夹(文件夹名称以“14”开头)。
对于设备 运行 iOS 14,select Xcode window
选项卡,单击 Devices and Simulators
,找到您的设备,right-click到unpair the device
完成工作后,re-run你的应用程序,一切都应该没问题。
参考文献:
- Apple 论坛 post:Xcode 11 hangs while attaching debugger to ios process
- Whosebug 回答来自:
删除 ~/Library/Developer/Xcode/iOS DeviceSupport/
并且 unpair/pair 设备不适合我。
单击项目目标的Edit Scheme
,select Run
阶段行,并取消选中Info
选项卡下方的Debug executable
,这解决了我的问题。
- 在 Xcode 菜单中,转到产品 > 方案 > 编辑方案
- 打开“信息”选项卡
- 取消选中“调试可执行文件”复选框
- 关闭 Window.
- 运行 应用程序并查看差异。
我也有这个问题,这里是 Xcode 版本 12.1 (12A7403)。
Xcode“设备和模拟器”中提出的“取消配对”设备的解决方案对我(以及这里的很多人)不起作用。 Xcode 只是在尝试时不断崩溃。 设备Hard-reset也没有解决
对我有什么好处:
删除iOS里面的14.1文件夹~/Library/Developer/Xcode/iOS DeviceSupport
。
然后只需重新打开 Xcode.
Xcode 从 iPhone“复制缓存文件”需要一段时间,但一旦最终完成,正常的调试构建和 运行 行为又回来了,无需长时间延迟。
删除 ~/Library/Developer/Xcode/iOS DeviceSupport/
和 unpair/pair 设备对我也不起作用并禁用 Debug executable
让我无法调试我的程序。
我不知道该怎么做,但是当我将我的 iPhone 从 iOS14 升级到 iOS14.1 时,问题消失了。所以,我认为这应该是一个 iOS 错误。
就我而言,取消配对设备或删除 DeviceSupport
文件均无效。但是我升级到iOS14.1和Xcode12.1后,可以正常使用了。
只需更新iOS and/or Xcode即可解决您的问题。上面给出的其余解决方案只是解决方法,可能并不总是有效。对我来说,上述解决方案的 none 有效。我刚刚更新 iOS 并解决了问题。
解除 phone 与 Xcode
的配对在 phone 未插入电源的情况下启动 Xcode
将您的 phone 插入
在 Xcode 中的设备下,取消配对您的 phone
- 停止Xcode
- 运行这些
rm -rf ~/Library/Developer/Xcode/iOS\ DeviceSupport rm -rf ~/Library/Developer/Xcode/iOS\ Device\ Logs rm -rf ~/Library/Developer/Xcode/DerivedData
- 开始Xcode
- 插入phone插入
这适用于 Xcode 12.2 beta 和 iOS 14.2:
从下面的路径中取消选中 调试可执行文件。
产品 -> 方案 -> 编辑方案 -> Select 运行(左栏)-> 取消选中 调试可执行文件
产品 -> 方案 -> 编辑方案 -> Select 测试(左栏)->取消勾选调试可执行文件
然后关闭并再次运行。
从昨天开始就有同样的问题...
我尝试了这里所有的解决方案,都没有成功。
对我有用的是将调试服务器从 Xcode 11.7 复制到 Xcode 12.5,然后我(几乎)立即启动。 当然,它破坏了交互式调试器,但有助于隔离问题 (LLDB)
经过大量测试,将 macOS 版本降级到 11.2.3 修复了启动问题(回到 3 秒启动而不是 30+ 秒)
降级很容易: 在控制台中,键入:
softwareupdate --fetch-full-installer --full-installer-version 11.2.3
您将在 /Applications 中找到安装程序。
在 2 MBP 上测试没有问题。
编辑:几个小时前发布的11.3.1还是有问题
编辑 2:Xcode13 b1 修复了问题(即使是 MacOS 11.4)。我不知道为什么 Apple 没有发布新的 Xcode 12 修复 LLDB !
编辑 3:Xcode 12.5.1 为我修复了问题
我遇到了同样的问题,我用这种方法解决了
删除里面的文件夹
~/Library/Developer/Xcode/iOS DeviceSupport/
,然后 运行 Xcode 并再次启动应用程序,问题已解决。