在iOS中启动快捷操作时,有没有办法不打开启动屏幕/应用程序?

在iOS中启动快捷操作时,有没有办法不打开启动屏幕/应用程序?,ios,swift,appdelegate,uiapplication,uiapplicationshortcutitem,Ios,Swift,Appdelegate,Uiapplication,Uiapplicationshortcutitem,这是我试图执行的代码。执行操作后,是否有方法关闭应用程序?如果不是,我猜它是上下文所必需的。请尝试退出(0),但您不能发布它 苹果评论: 我们发现您的应用程序包含用于退出应用程序的UI控件。 这不符合iOS人机界面指南,如下所示: 应用商店审查指南要求 请参阅随附的屏幕截图以供参考 iOS人机界面指南规定: “随时准备停止iOS应用程序,当有人按下时停止 “主页”按钮可打开其他应用程序或使用设备 功能,例如电话。特别是,人们不点击 应用程序关闭按钮或从菜单中选择退出。以提供良好的 停止体验时,i

这是我试图执行的代码。执行操作后,是否有方法关闭应用程序?如果不是,我猜它是上下文所必需的。

请尝试退出(0),但您不能发布它

苹果评论:

我们发现您的应用程序包含用于退出应用程序的UI控件。 这不符合iOS人机界面指南,如下所示: 应用商店审查指南要求

请参阅随附的屏幕截图以供参考

iOS人机界面指南规定:

“随时准备停止iOS应用程序,当有人按下时停止 “主页”按钮可打开其他应用程序或使用设备 功能,例如电话。特别是,人们不点击 应用程序关闭按钮或从菜单中选择退出。以提供良好的 停止体验时,iOS应用程序应:

尽可能合理地保存用户数据,因为 退出或终止通知可以随时到达

以最精细的细节级别保存停止时的当前状态 可能的,这样人们在开始工作时就不会失去上下文 再次应用程序。例如,如果您的应用程序显示滚动数据, 保存当前滚动位置。“

删除退出应用程序的任何机制都是合适的

请尝试退出(0),但您无法发布它

苹果评论:

我们发现您的应用程序包含用于退出应用程序的UI控件。 这不符合iOS人机界面指南,如下所示: 应用商店审查指南要求

请参阅随附的屏幕截图以供参考

iOS人机界面指南规定:

“随时准备停止iOS应用程序,当有人按下时停止 “主页”按钮可打开其他应用程序或使用设备 功能,例如电话。特别是,人们不点击 应用程序关闭按钮或从菜单中选择退出。以提供良好的 停止体验时,iOS应用程序应:

尽可能合理地保存用户数据,因为 退出或终止通知可以随时到达

以最精细的细节级别保存停止时的当前状态 可能的,这样人们在开始工作时就不会失去上下文 再次应用程序。例如,如果您的应用程序显示滚动数据, 保存当前滚动位置。“

删除退出应用程序的任何机制都是合适的


谢谢你的测试,需要找出一个替代品。@praza24替代品是什么意思?我在生产中需要这个,但正如你前面提到的,它不会通过苹果。我想,只要单击快捷方式,UIApplication将始终是必需的,并且始终启动应用程序,即使它不是必需的。@praza24您可以使用全屏webView:)或SFSAFaricontroller这就是我所做的,但应用程序仍会启动。感谢这对测试有用,需要找到替代品。@praza24替代品是什么意思?我在生产中需要这个,但正如你前面提到的,它不会通过苹果。我想,只要单击快捷方式,UIApplication将始终是必需的,并且始终启动应用程序,即使它不是必需的。@praza24您可以使用全屏webView:)或SFSafariController这是我所做的,但应用程序仍会启动
func application(_ application: UIApplication, performActionFor shortcutItem: UIApplicationShortcutItem,
                     completionHandler: @escaping (Bool) -> Void) {
        if shortcutItem.type == "com.xyz.test.tests.firstAction" {
            if let url = URL(string: "https://www.google.com/") {
                DispatchQueue.main.async {
                    UIApplication.shared.openURL(url)
                }
                print("\(shortcutItem) was tapped")
            }