详解3DTouch集成篇

欢迎大家一起交流 QQ群 139852091

本文主要讲解3DTouch各种场景下的集成,开发主屏幕应用icon上的快捷选项标签(Home Screen Quick Actions),静态设置 UIApplicationShortcutItem ,动态添加、修改UIApplicationShortcutItem,如有需要,也可以联系作者QQ群 139852091 

一、准备

3DTouch 是iOS9时出来的,需要硬件配合,也就是说只有iPhone 6s 或者更晚的手机才支持的功能,所以我们集成测试3DTouch的时候要准备iPhone 6s 或者更晚的手机一部,但是我穷啊,还在用最初的iPhone 5s 到网上搜索一下,牛人就是多,github上早就有人为我们提供了这样的一个插件,可以让我们在模拟器上进行3D Touch的效果测试,(如果有土豪朋友,可以直接跳过本项,直接看二、应用添加快捷菜单)

https://github.com/DeskConnect/SBShortcutMenuSimulator

安装和使用git主页里介绍的很清楚,但是考虑到英文水平差的同学,我们重新操作一遍

打开终端  依次输入以下命令

git clone https://github.com/DeskConnect/SBShortcutMenuSimulator.git

cd SBShortcutMenuSimulator

make

xcrun simctl spawn booted launchctl debug system/com.apple.SpringBoard --environment DYLD_INSERT_LIBRARIES=$PWD/SBShortcutMenuSimulator.dylib

xcrun simctl spawn booted launchctl stop com.apple.SpringBoard

好现在已经安装完成,测试一下是否安装成功

echo 'com.apple.mobilecal' | nc 127.0.0.1 8000

通过上面这个代码,我们打开的是日历程序的3DTouch功能

而上面的  com.apple.mobilecal 是一个 Bundle_Id,如果测试自己的程序,修改成自己的Bundle_Id 即可 测试完不要关闭终端,等下次使用

#pragma warning

#pragma warning

#pragma warning

重点注意的是本插件只能在xcode模拟器iOS9.1使用,如果没有iOS 9.1的模拟器可以进QQ群 139852091 群文件获取(不好意思,打了一广告)

准备工作就绪

二、应用添加快捷菜单

接下来就是代码篇了

1、静态添加

什么是 静态添加 呢?

 静态添加我的理解为 程序没有启动过 就添加

可能有同学问,代码都是一步一步走的,怎么做到没有启动就能添加呢,其实道理很简单,我们每个人都有一个名字,比如说我叫 “齐广东”,这个名字是我在娘胎里我父母就给我起好的,我们的APP也是一样,静态添加就像我们给APP起名字一样,直接编辑配置文件 info.plist 就可以 添加的key为UIApplicationShortcutItems,类型为NSArray  好吧我还是贴图片吧

plistText形势
Xcode_plist形势

<array> <dict> <key>UIApplicationShortcutItemTitle</key> <string>第一个按钮所以我是老大</string> <key>UIApplicationShortcutItemType</key> <string>com.mycompany.myapp.one</string> </dict> <dict> <key>UIApplicationShortcutItemTitle</key> <string>我是第二个按钮我就是老二呗</string> <key>UIApplicationShortcutItemType</key> <string>com.mycompany.myapp.search</string> <key>UIApplicationShortcutItemIconType</key> <string>UIApplicationShortcutIconTypeSearch</string> <key>UIApplicationShortcutItemSubtitle</key> <string>我是副标题我是第二个按钮的小弟</string> <key>UIApplicationShortcutItemUserInfo</key> <dict> <key>key1</key> <string>value1</string> </dict> </dict> </array>

配置好以上,在AppDelegate  

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

中添加代码如图

在AppDelegate

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler

中添加代码如图

(有想考代码的同学可以下载GitHub - zhanglinfeng/Demo3DTouch,来源iOS9新特性 3DTouch 开发教程全解(含源码) - 张林峰 - 博客园

这时我们就完成静态添加

有iPhone 6s或者更晚的手机,运行或者安装后即可使用,没有的把模拟器返回到桌面(comd+h)点出刚没有关闭的终端,输入命令

echo ' 你当前程序的 Bundle_Id' | nc 127.0.0.1 8000

这时候就会弹出刚才所添加的,我们盗张图看一下


弹出标示成功,这样,静态添加就完成了

2、动态添加

什么是 动态添加  呢?

静态添加我的理解为 程序运行通过代码编译 添加 也就是 代码方式写入

道理就像我叫“齐广东”,而我老婆喜欢叫我东东,这个名字是我出生后他给我起的(不是虐狗,举个例子而已/*其实可以不用这个例子的哈*/)

屁话说多了  直接上代码图片吧

配合静态添加的

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler

的两个方法也完成了动态添加

在 iOS9新特性 3DTouch 开发教程全解(含源码) - 张林峰 - 博客园  的博客中,注意事项已经讲得很清楚,我也不多废话,

我把代码进行简单封装一下,减少一些耦合性,放在了QQ群 139852091 的群文件中,需要的同学可以进群下载

如上文所述有什么不符的地方,欢迎大家支出,我们一起学习,一起成长

参考 :iOS9新特性 3DTouch 开发教程全解(含源码) - 张林峰 - 博客园

资源 :github.com/DeskConnect/SBShortcutMenuSimulator

广告  :(居然又打广告)

欢迎大家一起交流 QQ群139852091

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,198评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,663评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,985评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,673评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,994评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,399评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,717评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,407评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,112评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,371评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,891评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,255评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,881评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,010评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,764评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,412评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,299评论 2 260

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 11,596评论 4 59
  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 24,844评论 7 249
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,087评论 18 139
  • When love beckons to you, follow him, Though his ways are...
    喵喵和大灰狼阅读 496评论 0 0
  • 我说 你出门看看天空吧 像贝加尔湖,像玻利维亚 像——你多情又忧郁的眼睛 你说,好。 于是推门而出 勇敢的把阴霾甩在身后
    安歌12阅读 198评论 1 3