3D Touch 的實(shí)現(xiàn)

1.在

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

方法中實(shí)現(xiàn)添加和分享的入口,代碼如下 :

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

UIApplicationShortcutIcon *firstItemIcon = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAdd];

UIMutableApplicationShortcutItem *firstItem = [[UIMutableApplicationShortcutItem alloc]initWithType:@"First" localizedTitle:@"添加" localizedSubtitle:nil icon:firstItemIcon userInfo:nil];

UIApplicationShortcutIcon *secondItemIcon = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeShare]; ???? ? ? ? ? UIMutableApplicationShortcutItem *secondItem = [[UIMutableApplicationShortcutItem alloc]initWithType:@"Second" localizedTitle:@"分享" localizedSubtitle:nil icon:secondItemIcon userInfo:nil]; ??? application.shortcutItems = @[firstItem,secondItem];

return YES;

}

2.實(shí)現(xiàn)這個(gè)方法

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

在這個(gè)方法中處理添加和分享的事件,代碼如下:

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

if ([shortcutItem.type isEqual:@"add"])

{ ???????? NSLog(@"執(zhí)行添加事件");

}else if(

[shortcutItem.type isEqual:@"share"]

){

NSLog(@"執(zhí)行分享的操作 ");

}

}

二、通過(guò)模擬器進(jìn)行調(diào)試? 使用[SBShortcutMenuSimulator](

https://github.com/DeskConnect/SBShortcutMenuSimulator

)來(lái)配置模擬器,使模擬器支持3D Touch

在終端中按順序輸入以下命令:

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

2.cd SBShortcutMenuSimulator

3.make

然后打開剛才寫好的程序 運(yùn)行一下打開模擬器,再去終端中按順序輸入一下命令:

1.xcrun simctl spawn booted launchctl debug system/com.apple.SpringBoard

--environment DYLD_INSERT_LIBRARIES=$PWD/SBShortcutMenuSimulator.dylib

2.xcrun simctl spawn booted launchctl stop com.apple.SpringBoard

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

注意: 'com.apple.mobilecal' ''里邊寫的是自己項(xiàng)目的Bundle identifier.?這行命令就是要讓模擬器顯示出3D Touch,每次想要顯示快速入口只要重復(fù)操作即可


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1、在didFinishLaunchingWithOptions:添加以下代碼 UIApplicationShor...
    呦嚯嚯嚯12138閱讀 253評(píng)論 0 1
  • 1.簡(jiǎn)單的介紹一下3D Touch 3D Touch的觸控技術(shù),被蘋果稱為新一代多點(diǎn)觸控技術(shù)。其實(shí),就是此前在Ap...
    Camille_chen閱讀 12,087評(píng)論 19 33
  • 專著:http://www.lxweimin.com/p/3443a3b27b2d 1.簡(jiǎn)單的介紹一下3D Touc...
    violafa閱讀 1,029評(píng)論 1 0
  • 3D Touch 概述: 從.Net轉(zhuǎn)來(lái)也快有半年之多了,從小生到現(xiàn)在也算是經(jīng)歷了無(wú)所bug了,不過(guò)還是打到不了I...
    LitterL閱讀 710評(píng)論 8 1
  • 3D Touch其實(shí)就是快速進(jìn)入指定app界面的一種方式。下面和大家分享一下簡(jiǎn)單的實(shí)現(xiàn)1、靜態(tài)標(biāo)簽靜態(tài)標(biāo)簽是我們?cè)?..
    航彪彪閱讀 5,132評(píng)論 27 5