iOS 實(shí)現(xiàn)3D Touch 并 通過(guò)模擬器進(jìn)行調(diào)試

一、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來(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ù)操作即可 **

三、現(xiàn)在看一下效果:

運(yùn)行結(jié)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.簡(jiǎn)單的介紹一下3D Touch 3D Touch的觸控技術(shù),被蘋果稱為新一代多點(diǎn)觸控技術(shù)。其實(shí),就是此前在Ap...
    Camille_chen閱讀 12,339評(píng)論 19 33
  • 專著:http://www.itdecent.cn/p/3443a3b27b2d 1.簡(jiǎn)單的介紹一下3D Touc...
    violafa閱讀 1,090評(píng)論 1 0
  • 1.在 - (BOOL)application:(UIApplication *)application didF...
    兩不厭Lhl閱讀 365評(píng)論 0 0
  • 3D Touch介紹 從iPhone 6s開始,產(chǎn)品都添加了一項(xiàng)硬件屬性,叫做3D touch。作為屏幕的一部分,...
    歪筆書生_閱讀 706評(píng)論 0 0
  • 陜西一農(nóng)婦好心搭載同路回鄉(xiāng)的老人,不料遇到交通事故老人不幸離世。農(nóng)婦心有不忍打算賠償卻遭家屬拒絕,言之不能讓好人受...
    小西丫頭閱讀 734評(píng)論 0 1

友情鏈接更多精彩內(nèi)容