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

时间:2019-03-21 12:38:24

标签: ios swift appdelegate uiapplication uiapplicationshortcutitem

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")
            }

这是我要执行的代码。一旦执行动作,是否有办法将应用程序关闭?如果没有,我猜这是上下文所必需的。

1 个答案:

答案 0 :(得分:0)

尝试exit(0),但您无法发布

Apple评论:

  

我们发现您的应用程序包含用于退出该应用程序的UI控件。   这不符合iOS人机界面准则,因为   《 App Store审查指南》要求提供。

     

请参考所附的屏幕截图以供参考。

     

iOS人机界面准则指定

     

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

     

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

     

在停止时以最佳详细信息保存当前状态   这样一来,人们在开始学习时就不会失去背景   再次申请。例如,如果您的应用显示滚动数据,   保存当前滚动位置。”

     
    

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