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

     2023-02-24     131

关键词:

【中文标题】在 iOS 中启动快捷操作时,有没有办法不打开启动画面/应用程序?【英文标题】:Is there a way to not open the splash screen/app when launching a shortcut action in iOS? 【发布时间】:2019-03-21 12:38:24 【问题描述】:
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】:

试试exit(0),但你不能发布它

苹果评论:

我们发现您的应用包含用于退出应用的 UI 控件。 这不符合 iOS 人机界面指南,因为 App Store 审核指南要求。

请参考所附截图。

iOS 人机界面指南指定,

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

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

在停止时以最精细的细节保存当前状态 这样人们在开始 再次申请。例如,如果您的应用显示滚动数据, 保存当前滚动位置。”

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

【讨论】:

感谢这对测试有用,需要找出替代方法。 @praza24 你的替代品是什么意思? 我在生产中需要这个,但正如你之前提到的,它不会被苹果通过。我想 UIApplication 总是需要的,点击快捷方式后,即使不需要,也总是启动应用程序。 @praza24 你可以使用全屏 webView :) 或 SFSafariController 这就是我所做的,但应用程序仍在启动

有没有办法在不重新启动应用程序的情况下使 NSBundle 本地化缓存失效? [iOS]

】有没有办法在不重新启动应用程序的情况下使NSBundle本地化缓存失效?[iOS]【英文标题】:IsthereawaytoinvalidateNSBundlelocalizationcache,withourrestartingapplication?[iOS]【发布时间】:2012-11-1114:48:19【问题描述】:假设我们可以在运行时更改... 查看详情

有没有办法在不重新启动 Xcode 6 的情况下打开 Swift Playground?

】有没有办法在不重新启动Xcode6的情况下打开SwiftPlayground?【英文标题】:IsthereawaytoopenSwiftPlaygroundwithoutrestartingXcode6?【发布时间】:2014-06-2302:22:57【问题描述】:有没有办法在不关闭Xcode并重新启动的情况下打开SwiftPlayground?... 查看详情

设置androidstudio启动时不检查sdkandroidstudio启动时总是在找androidsdk的解决办法

安装完androidstudio后,首次启动会弹出检查sdk组件等设置,点击finish会去下载sdk等,如果没有设置代理的情况下,这个界面会卡很久。截图如下:blog0826-1.png所以,我们就需要去更改androidstudio的设置来禁用这个功能。解决方法关... 查看详情

Cocos2d 和 iOS:有没有办法阻止屏幕保护程序在我的游戏中启动?

】Cocos2d和iOS:有没有办法阻止屏幕保护程序在我的游戏中启动?【英文标题】:Cocos2dandiOS:isthereawaytostopthescreensaverfromstartinginmygame?【发布时间】:2013-12-0117:19:10【问题描述】:我想知道是否有办法在游戏运行时阻止屏幕保护程... 查看详情

不希望软键盘在启动时自动显示-Android [重复]

...roid应用程序时,它都会自动聚焦EditText框并打开软键盘。有没有办法在启动时专注于其他东西,这样键盘就不会立即显示?【问题讨论】:【参考方案1】:你 查看详情

iOS在启动时呈现模态视图控制器而不使用flash

...题描述】:我想在首次启动时向用户展示一个教程向导。有没有办法在应用程序启动时呈现模态UIViewController,而至少在一毫秒内看不到它背后的rootViewController?现在我正在做这样的事情(为了清楚起 查看详情

当我们在 ios5.1、ios6 等其他操作系统版本中拥有应用程序时,如何在 ios5 模拟器中启动应用程序?

...述】:我的模拟器iOS5.0、iOS5.1和iOS6.0中有3个操作系统。有没有办法在某个iOS版本中启 查看详情

6种办法解决你的finder持续崩溃的问题!

你有没有碰到这种情况:将Mac更新到了最新的macOS,突然Finder开始崩溃,总是意外退出。发生这种情况时,您会在以下弹出窗口中收到错误报告:当应用意外退出时,总是让人特别郁闷,尤其是当你处于重要工作状态时。但是,... 查看详情

在 Eclipse 中添加应用程序启动快捷方式?

...”,然后是“Android应用程序”。必须有更好的方法......有没有办法改变这个(三下鼠标点击): 查看详情

怎样设置vivo手机应用添加快捷键?

...接着在设置中,页面翻到最下方,可以看到里面有个快捷启动的选项,点击打开。3、打开后开启快捷启动。如果这个时候上方快捷启动是被关闭状态,需要点击一下右侧图标切换到打开。4、提示长【按音量-】可以进行快速启动... 查看详情

有没有办法阻止 iTunes 商店 URL 在 OS X 中启动 iTunes 应用程序?

】有没有办法阻止iTunes商店URL在OSX中启动iTunes应用程序?【英文标题】:IsthereawaytopreventiTunesstoreURLsfromlaunchingtheiTunesappinOSX?【发布时间】:2012-05-0416:28:05【问题描述】:LinkstoiTunesstore应用程序等项目,首先从OSX上的Safari启动打开... 查看详情

在windows中下述哪些操作能用来启动一个应用程序

在Windows中,可以使用以下操作来启动一个应用程序:1.双击应用程序图标:通常,当您安装应用程序后,会在桌面或开始菜单上留下一个图标。您可以通过双击该图标来启动应用程序。2.使用开始菜单或弹出式启动器:在开始菜... 查看详情

不启动vs2013,直接打开帮助文档的方法

  在使用VS2013做开发的时候,当我们需要查询一个知识点时,直接按“F1”键就可以打开配套的帮助文档。如果在没有打开VS2013的情况想查看它的帮助文档,我们应该怎么办呢?我们能否在桌面创建一个可以直接打开VS2013的快... 查看详情

如何避免在打开混合文件时启动 Blender 游戏引擎

...教程,但是当我打开blend文件时它会自动启动游戏引擎,有没有办法绕过这个?这是源文件。http://www.neisd.net/ksat/studentwork 查看详情

有没有办法在 Windows 10 设备上以编程方式启用/禁用(灰色)操作中心中的旋转锁定,而无需重新启动?

】有没有办法在Windows10设备上以编程方式启用/禁用(灰色)操作中心中的旋转锁定,而无需重新启动?【英文标题】:Isthereawaytoenable/disable(greyout)theRotationLockinActionCenterprogrammaticallyonaWindows10devicewithoutrebooting?【发布时间】:2020-0... 查看详情

如何在启动时设置 Windows 位置

...】:我想将窗口在屏幕右侧的位置设置为类似于WPF。UWP中有没有办法做到这一点?【问题讨论】:【参考方案1】:AFAIK这在UWP中是不可能的(至少现在还不可能),您可以通过访问ApplicationView类来更改窗口大小或使其全屏显示,... 查看详情

数据库连接不成功

...术A数据库连接不成功的原因:1、数据库的服务没有正常启动。2、数据库的IP协议没有启动。3、客户端链接服务器时电脑的防火墙没有关闭,被防火墙拦截。解决办法:1、检查数据库服务是否打开。打开计算机管理中的服务和... 查看详情

四叶草启动没有win

四叶草要支持Win的启动。Clover(也叫四叶草)是操作系统引导加载程序,用于已经装有(U)EFI固件的计算机和装有旧版BIOS固件的计算机。操作系统(OS)可能支持(U)EFI(macOS,Windows7、8或10,Linux)或者不支持(U)EFI(WindowsXP)。传统legacy引导通... 查看详情