app桌面快捷键

app的快捷键功能,例如:微信

微信快捷键

这是什么功能呢?

在支持 3D Touch 的设备上,Quick Actions 可以让用户更快,更少的操作步骤去完成他们最常做的事情,其中这么多操作可以通过主屏幕直接完成。比如用力地长按微信图标,会弹出诸如"扫一扫"和"我的二维码"等常用功能,这个我在加好友的情况下经常会用到,不是"扫"别人就是被别人"扫"。然后这是它的官方介绍,3D Touch - iOS - Apple Developer。

3D Touch这个开始被视为鸡肋的功能,现在终于有用了。

支持设备iPhone 6S 和 6S Plus 及后续出的 iPhone 系列,

系统: iOS 9.0 开始支持 3D Touch

这些怎么实现的呢?

1、在info.plist里添加UIApplicationShortcutItems

<key>UIApplicationShortcutItems</key>

<array>

<dict>

<key>UIApplicationShortcutItemSubtitle</key>

<string>关注我</string>

<key>UIApplicationShortcutItemTitle</key>

<string>扫一扫</string>

<key>UIApplicationShortcutItemType</key>

<string>scan</string>

</dict>

<dict>

<key>UIApplicationShortcutItemIconFile</key>

<string>upload</string>

<key>UIApplicationShortcutItemTitle</key>

<string>一键发布</string>

<key>UIApplicationShortcutItemType</key>

<string>public</string>

</dict>

<dict>

<key>UIApplicationShortcutItemIconType</key>

<string>UIApplicationShortcutIconTypeSearch</string>

<key>UIApplicationShortcutItemTitle</key>

<string>搜索</string>

<key>UIApplicationShortcutItemType</key>

<string>search</string>

</dict>

</array>

app内部跳转实现

- (void)application:(UIApplication*)applicationperformActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItemcompletionHandler:(void(^)(BOOL))completionHandler  API_AVAILABLE(ios(9.0)) {

    NSLog(@"%s", __FUNCTION__);

    if([shortcutItem.typeisEqualToString:@"search"]) {

        NSLog(@"搜索");

    }elseif([shortcutItem.typeisEqualToString:@"scan"]) {

        NSLog(@"扫一扫");

    }elseif([shortcutItem.typeisEqualToString:@"public"]) {

        NSLog(@"一键发布");

    }

}

运行效果

app快捷菜单

补充:

info.plist 的UIApplicationShortcutItems里Key值说明

UIApplicationShortcutItemType(必需)唯一标识

UIApplicationShortcutItemTitle(必需)显示的标题

UIApplicationShortcutItemSubtitle(可选)显示的副标题

UIApplicationShortcutItemIconType(可选)使用系统的图标

UIApplicationShortcutItemIconFile(可选)使用项目的图标

UIApplicationShortcutItemUserInfo(可选)附加的信息