任凯 蓝牙技术联盟 10月25日
如果你正在iOS平台上开发蓝牙应用程序,或者为iOS应用程序进行对端设备的嵌入式固件开发,那么本文将告诉你如何使用iOS设备和macOS设备建立调试系统,如何获取iOS设备与对端设备之间所进行通信的蓝牙数据包。
您需要:
iOS 13设备与数据线(充电线)
macOS台式计算机或笔记本计算机
Apple开发者计划帐户
在目标iOS设备上安装配置文件
复制以下链接并将其粘贴到目标iOS设备的浏览器中。
https://developer.apple.com/bug-reporting/profiles-and-logs/?name=bluetooth
浏览器将显示以下网页。现在,单击Bluetooth for iOS下的 Profile(下图红框处)。
浏览器将询问您请登录Apple Developer。成功登录后,将出现以下网页。单击 Allow (允许)按钮。
如下图所示,选择iPhone 安装该配置文件。
该浏览器将下载配置文件。如出现以下屏幕,则表示该配置文件已下载。根据提示 Review the profile in Settings app if you want to install it(如要安装该配置文件,请在设置应用程序中审核),在您的iOS设备上打开Settings (设置)应用程序。
如下图所示,在 Settings (设置)应用程序中,单击Profile Downloaded (已下载的配置文件)选项卡。
单击Install (安装)(下图中的红框处)按钮安装该配置文件(参见右图)。现在已成功安装该配置文件。
安装Xcode 11
请访问App Store或在您的macOS设备上打开以下链接来安装Xcode 11。
https://developer.apple.com/xcode/
安装packetLogger
请通过以下链接下载Additional Tools for Xcode 11(Xcode 11附加工具)。
下载成功后,打开Additional_Tools_for_Xcode_11.dmg 并访问Hardware (硬件)文件夹。如下图所示,packetLogger 位于该文件夹内。
https://idmsa.apple.com/IDMSWebAuth/signin?appIdKey=891bd3417a7776362562d2197f89480a8547b108fd934911bcbea0110d07f757&path=%2Fdownload%2Fmore%2F%3F%3Dxcode&rv=1
你可以将packetLogger 拖曳至你的 Application (应用程序)文件夹中进行安装。
启动蓝牙数据包分析
打开packetLogger,主用户界面如下图所示。
用数据线把已安装配置文件的iOS设备与您的macOS设备连接起来,然后如下图所示,单击File à New iOS Trace(启动新的iOS追踪)。
之后,packetLogger 将开始追踪该已安装配置文件的iOS设备上的所有蓝牙活动。在该iOS设备屏幕的左上角将显示一个脉冲图标(参见下图红框),表示正在进行追踪。
根据苹果 2019年全球开发者大会(WWDC 2019 [https://developer.apple.com/videos/play/wwdc2019/901/ ],
packetLogger 能够:
-
作为蓝牙数据包分析的应用程序
-
对蓝牙技术联盟和苹果定义的所有协议进行解码
-
执行丰富的筛选选项
-
通过文本正则表达式(text regex)搜索
-
评论和标记数据包
-
导出原数据用于分析
另外,实际设备测试表明,packetLogger 支持基础速率/增强速率(BR/EDR)蓝牙和低功耗蓝牙。
总结
无论你是iOS开发者还是嵌入式软件工程师,本方法都能帮助你调试并追踪应用程序。如果你想以调试或追踪蓝牙mesh 空中数据包,则还需要有更加专业的蓝牙数据包分析仪器。