在iOS15上调试Xcode -空白屏幕和应用程序启动前延迟几分钟



自从我将iPhone升级到iOS 15并在Mac上升级到Xcode 13以来,我在使用Xcode测试/调试任何SwiftUI应用程序时都遇到了问题。即使是一个带有简单的"hello world"的新Xcode项目;当Xcode "Start"按钮被按下(无论目标是模拟器还是我的iOS 15物理iPhone)。

应用程序似乎正确地上传到目标,但目标然后显示一个空白的屏幕超过一分钟(分钟),然后显示应用程序屏幕。

当Xcode调试器断开连接之后,应用程序在目标(无论是模拟器还是物理iPhone)上手动启动,它似乎工作正常(没有任何白屏首先出现)。

与我所有的SwiftUI应用程序相同的行为(&simple Xcode Swift "Hello World"例),这些设备已经工作了很长时间,没有任何问题。

我仍然安装了Xcode 12.5 &它现在显示相同的行为(即使目标操作系统是iOS 14.5),应用程序上传到我的iOS 15 iPhone。

基本上不可能测试&调试有此问题的应用。

还有其他人有这个问题吗?

有任何已知的解决方案或建议吗?

谢谢!

我的iPhone(型号:X)刚刚安装了iOS v15.0.2。这个问题在iOS更新后神奇地解决了!

当我在最新的iOS更新后重新连接我的iPhone (Mac上的xCode)时,我不得不等待xCode完成"从iPhone获取iPhone调试符号"。完成后,Xcode再次发布任何应用。将其连接到调试器)立即(就像我的iOS 15.0更新到iPhone之前的情况一样)-没有任何黑屏,也没有更多的长时间延迟!所以在iOS更新后,我的整个Xcode开发环境似乎恢复正常了。

所以挫折&恼怒似乎结束了!

尝试删除iOS DeviceSupport文件夹,它必须帮助调试在实际设备上。

rm -r ~/Library/Developer/Xcode/iOS DeviceSupport

这取决于手机操作系统版本,而不是Xcode

extension UIApplication {
func getKeyWindow() -> UIWindow? {
if #available(iOS 13.0, *) {
return connectedScenes
.filter { $0.activationState == .foregroundActive }
.compactMap { $0 as? UIWindowScene }
.flatMap { $0.windows }
.first { $0.isKeyWindow }
} else {
return keyWindow
}
}
}

我想知道是否因为在iOS15上,当应用程序启动时获得键窗口,.activationState == .foregroundInactive

如果是,只需删除

。过滤{$0。activationState == .foregroundActive}