【发布时间】:2019-01-09 02:54:55
【问题描述】:
使用 Swift 4 运行 Xcode 9.4.1,应用在任何视图控制器上启动时突然卡在黑屏上。没有崩溃(也没有断点),当注册屏幕打开时,视图在后台可见,同时出现推送通知权限窗口。窗口被接受后,屏幕返回黑色。
App Delegate 运行没有问题,日志看起来很正常,就好像视图加载正确一样。
我尝试清理构建文件夹,删除派生数据,重置模拟器,然后重新启动手机和 Xcode,但没有成功。设备是 iPhone 6,模拟器在各种 iPhone 上测试。
编辑:当在 App Delegate 中删除此功能时,应用似乎可以工作。
func applicationDidBecomeActive(_ application: UIApplication) {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.window = UIWindow(frame: UIScreen.main.bounds)
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
if application.applicationIconBadgeNumber > 0 {
let startVC = mainStoryboard.instantiateViewController(withIdentifier: "ViewController")
appDelegate.window?.rootViewController = startVC
appDelegate.window?.makeKeyAndVisible()
application.applicationIconBadgeNumber = 0
}
}
【问题讨论】:
-
显示推送代码
-
刚刚更新问题
-
在其他设备上是否正常工作?如果'applicationIconBadgeNumber == 0'
-
不知道为什么,但是当我删除 applicationDidBecomeActive 函数时,应用程序正常工作,有什么想法吗?