1.在应用的info.plist 文件的UIApplicationShortcutItems 数组中,定义静态快速选项;
[key]UIApplicationShortcutItems[/key]
[array]
[dict]
[key]UIApplicationShortcutItemIconType[/key]
[string]UIApplicationShortcutIconTypeShare[/string]
[key]UIApplicationShortcutItemTitle[/key]
[string]Share[/string]
[key]UIApplicationShortcutItemType[/key]
[string]-11.UITouchText.share[/string]
[/dict]
[/array]
//解释意思:
UIApplicationShortcutItemIconType
触发3D Touch时显示的图标类型
UIApplicationShortcutIconTypeShare
显示分享的图标
UIApplicationShortcutItemTitle
显示名字的
-11.UITouchText.share
如应用程序的BundleId一样,唯一标识符
2.使用UIApplicationShortcutItem类和相关的API来定义,动态快速选项。使用shortcutItems属性,将动态快速选项添加到你应用共享的UIApplication对象中。
3.两种快速选项最多可以显示两行文本和一个可选图标。
4.然后在Appdelegate.m中添加如下方法,此方法是用来处理3D触摸事件的:
- (void)application:(UIApplication *)application
performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem
completionHandler:(void(^)(BOOL succeeded))completionHandler{
//添加相应的操作
//判断先前我们设置的唯一标识
if
([shortcutItem.type isEqualToString:@
"-11.UITouchText.share"
]){
NSArray *arr = @[@
"hello 3D Touch"
];
UIActivityViewController *vc = [[UIActivityViewController alloc]initWithActivityItems:arr applicationActivities:nil];
//设置当前的VC 为rootVC
[self.window.rootViewController presentViewController:vc animated:YES completion:^{
}];
}
}
//如果我们当前没法用真机测试:可以加上这样去判断
if
(self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) {
NSLog(@
"你的手机支持3D Touch!"
);
}
else
{
NSLog(@
"你的手机暂不支持3D Touch!"
);
}