由于 3D touch 的功能 iPhone 的模拟器并不支持、但是这并不能阻止我们进行调试
在 gitHub 早有大神提供了模拟器调试 Quick Action 的方法
项目的地址是:https://github.com/DeskConnect/SBShortcutMenuSimulator
下面简单介绍一下安装的步骤:
打开终端
git clone https://github.com/DeskConnect/SBShortcutMenuSimulator.git
cd SBShortcutMenuSimulatmake
如果电脑中有多个Xcode版本,先做如下操作,如果只有Xcode7 那么你可以跳过此步
sudo xcode-select -switch /Applications/Xcode2.app/Contents/Developer/
这里需要注意的是:上面命令中,Xcode2.app 是你电脑中Xcode的名字
如果名字中有空格,需要修改一下,把空格去掉,否则会影响终端命令的正常执行。
然后你需执行如下命令进入 SBShortcutMenuSimulator 的目录
cd SBShortcutMenuSimulatmake
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
看到终端输出下面这些提示 说明服务已经配置成功了
Service configured for next launch.
接着我们就可以通过向指定端口发送消息的方法来在模拟器上 模拟 3D Touch 的效果:
echo 'com.apple.mobilecal'| nc 127.0.0.1 8000
需要注意的是 单引号中 com.apple.mobilecal 是应用的 Bundle ID
如果要测试你自己的应用,直接将其改成你们应用的 Bundle ID 即可
上面的 'com.apple.mobilecal' iOS系统的日历
我们可以看一下模拟器上的效果:
* 这里不得不提一下 apple 公司考虑事情确实很周到
当我们的 app 在屏幕的靠左边的位置时
3D touch 的菜单弹出时 图片在左边、文字在右边 如上图所示的样子
---------------------- 牛逼的分割线 ----------------------
相反当我们的 app 在屏幕的右边时
3D touch 的菜单弹出时 图片在右边、文字在左边 如下图所示