【问题标题】:Xcode not calling application delegate after opting out of SceneDelegate选择退出 SceneDelegate 后 Xcode 未调用应用程序委托
【发布时间】:2020-04-04 18:05:54
【问题描述】:

在 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

实际上调用了etc。

我尝试过清理构建、重启 Xcode、mac、设备、清除派生数据等。

【问题讨论】:

标签: ios swift xcode appdelegate


【解决方案1】:

所以,我终于找到了答案。

原来它是一个很好的旧

实例方法几乎匹配

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 的文档验证了它们,它们之间没有区别。

最后,它现在可以工作了,耶。

【讨论】:

    【解决方案2】:

    如果您不需要使用 SceneDelegate,请在 AppDelegate 文件中添加以下属性。

    var 窗口:UIWindow?

    在 didFinishLaunchingWithOptions 函数上方添加这一行

    var window: UIWindow?
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
        {
         // Override point for customization after application launch.
                return true
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 1970-01-01
      • 2013-01-11
      • 1970-01-01
      • 2016-12-15
      • 2019-10-23
      相关资源
      最近更新 更多