iOS 13发行后,我选择通过正常过程退出使用新的SceneDelegate。
- SceneDelegate.swift does no longer exist
- There are no Scene related methods in AppDelegate
- Application Scene Manifest is removed from .plist
这很好用,这是我自从运行以来(iOS 11.0目标,Xcode 11.2.1)的方式。
上周,我运行了一个部署目标为13.0的构建,然后又换回了11.0。
从那时起,不再调用应用程序委托方法,例如。
func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any])
唯一可以看到的是在控制台中登录
Can't end BackgroundTask: no background task exists with identifier 15 (0xf), or it may have already been ended
我已经对上述所有设置进行了三重检查,但无法像以前一样正常工作。
唯一可能不同的是,故事板现在默认为“自动”(iOS 13.0,*)演示模式,但我不确定它以前的状态。
由于自动功能仅在iOS 13以上版本中可用,因此似乎有些混乱。
有人知道吗?
关注此thread中的响应:
applicationDidBecomeActive
applicationWillEnterForeground
实际上是被调用的。
我尝试清理构建,重新启动Xcode,mac,设备,清除派生数据等。
答案 0 :(得分:0)
所以,我终于找到了答案。
结果证明这是一个很好的时代
实例方法几乎匹配
func application(_ application: UIApplication, continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool
该Xcode完全忽略了报告,并设法以某种方式在iOS 11> iOS 13> iOS 11的构建之间进行了突破。
这也很奇怪,因为我几天前用Apples和Firebase的文档对它们进行了验证,而且两者之间没有区别。
最后,现在可以了,是的。
答案 1 :(得分:0)
如果您不需要使用SceneDelegate,则在AppDelegate文件中添加以下属性。
可变窗口:UIWindow?
在didFinishLaunchingWithOptions函数上方添加此行
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
{
// Override point for customization after application launch.
return true
}