众所周知Window Phone 8 SDK的模拟器不支持NFC功能的测试。如果您开发了一款基于NFC功能的应用,那么意味着您测试时需要两台支持NFC的Windows Phone设备在手,这样的配置恐怕会让很多独立开发者望而却步。
可喜的是开源项目Proximity Tapper解决了在模拟器中测试NFC功能的需求,可以实现Windows Phone 8 emulator模拟NFC操作,还可实现Windows Phone与Windows的NFC调试。
Proximity Tapper的下载地址:https://proximitytapper.codeplex.com/
非常重要:
Proximity Tapper运行界面如下图,在第一次启动时会收到Windows防火墙的通知,必须选中所有复选框允许Proximity Tapper通过防火墙的设置。否则Proximity Tapper运行时搜索emulator的功能会失效。
建议在运行Proximity Tapper时暂时将防火墙关闭。笔者在初次运行Proximity Tapper时就对无法自动搜索emulator而苦恼不已,后关闭防火墙方才正常自动搜索到模拟器。
由于Visual Studio不支持同时运行两个相同的模拟器,你需要选择不同的分辨率的模拟器来解决此问题。模拟器启动后在Proximity Tapper的Devices中会发现此两个设备。按住Ctrl键用鼠标选中两个模拟器,然后点击"Tap Selected Devices Remain Connected"。这样就可在两个模拟器之间测试NFC的功能。
下图是笔者测试通过NFC功能发布应用的Uri关联消息。第一台模拟器Publish Uri Message,第二台模拟器通过NFC接收到消息后可启动与此Uri关联的应用。