If you are doing Bluetooth® application development on an iOS platform, or performing embedded firmware development for an iOS app, this article will tell you how to establish a debug system using your iOS device and a Mac computer, capture Bluetooth packets over the air between an iOS device and a peer device, and provide the logs over the HCI (Host Controller Interface) on this iOS device.       

What You Will Need

  • iOS 13 device and cable
  • Mac computer/laptop
  • Apple Developer Program account

Installing Profiles on Target iOS Device

Copy the below link and paste it in the browser of the target iOS device.

https://developer.apple.com/bug-reporting/profiles-and-logs/?name=bluetooth

The webpage below will be displayed. Now, click Profile (red rectangle) under Bluetooth for iOS.

The browser will ask you to Sign in to Apple Developer. After logging in successfully, the webpage below will appear. Now, click the Allow button.

As shown below, select iPhone to install this profile.

The browser will download the profile file. When the screen below appears, the profile has been downloaded. According to the hint, Review the profile in Settings app if you want to install it, open Settings app on your iOS device.

In the Settings app, click the Profile Downloaded tab as shown below.

Now, click the Install (red rectangle) buttons to install the profile (see image on the right). The profile has now been successfully installed.

Installing Xcode 11

Please visit App Store or this link to install Xcode 11 on your Mac.

Installing the packetLogger

Download the Additional Tools for Xcode 11 via this link. When downloaded successfully, open the Additional_Tools_for_Xcode_11.dmg and access the Hardware folder. The packetLogger is inside of the folder, as shown below  

You can drag the packetLogger and drop it into your Application folder for installation.

Starting Bluetooth Packets Analysis

Open the packetLogger. The main user interface should appear as shown below.

Connect the profile-installed iOS device to your Mac by cable and click on File à New iOS Trace, as shown below.

packetLogger will start to trace all the Bluetooth activity on this profile-installed iOS device. At the left-top corner of this iOS device screen, a pulse icon will be displayed (see image below). This means the trace is ongoing.

According to this session of WWDC 2019, the packetLogger can:

  • Work as a Bluetooth packet analysis application
  • Decode all protocols defined by the Bluetooth Special Interest Group (SIG) and Apple
  • Perform rich filtering options
  • Search by text regex
  • Comment and flag packets
  • Export raw data for analysis

By the way, after real device testing, packetLogger supports Bluetooth BR/EDR and Bluetooth Low Energy.

Summary

Using this method, whether you are an iOS developer or an embedded firmware engineer, can help you debug and trace your application. If you want to debug or trace Bluetooth® mesh packets over the air, you still need to have a professional Bluetooth packet analyzer.

Designing and Developing Bluetooth® Internet Gateways

Design and implement your own Bluetooth® Internet Gateway (BIG) working prototype and see for yourself how BIGs allow applications to exchange data with Bluetooth devices from anywhere in the world.

Wireless Connectivity Options for IoT Applications - Asset Tracking

If you recall from the previous article in this series, we covered the application…

How Bluetooth Technology Uses Adaptive Frequency Hopping to Overcome Packet Interference

Interference is one of the biggest challenges for any wireless technology in providing reliable…

A Technical Overview of LC3

An Introduction to LE Audio Over the past two decades, since its inception, Bluetooth®…

How Bluetooth Technology Creates Reliability From Unreliable Foundations

Figure 3a – A stack configuration supporting Bluetooth LE with GAP/GATT/ATT Bluetooth® enabled devices…

Bluetooth Mesh and DALI - Under the Hood

In my previous article on Bluetooth Mesh and DALI – the Perfect Match, we…

Bluetooth Mesh and DALI – The Perfect Match

In May 2020, the Bluetooth Special Interest Group (SIG) and DiiA (Digital Illumination Interface…

An Introduction to Bluetooth Low Energy for Swift Developers

All smartphones support Bluetooth® Low Energy (LE) and it is used in all manner…

Building a Sensor-Driven Lighting Control System Based on Bluetooth® Mesh

A technical examination of which Bluetooth mesh models to use in different types of…

Bluetooth Security and Privacy Best Practices Guide

This guide is intended to help implementers better understand why certain available security and…

Advanced Bluetooth for Android Developers

Android developers can take this guided tour of the most recent features and interesting…

How to Deploy BlueZ on a Raspberry Pi Board as a Bluetooth Mesh Provisioner

This step-by-step study guide will teach you: How to rebuild the kernel on a…

Discussing Bluetooth Range

Watch Nordic address some of the most common myths concerning Bluetooth range, discuss the…

The Bluetooth LE Security Study Guide

Learn about fundamental security concepts, the security features of Bluetooth Low Energy, and gain some hands-on experience using those features in device code.

Bluetooth Direction Finding: A Technical Overview

This comprehensive overview examines how two new Bluetooth direction finding methods can enable location services solutions that support high-accuracy.

 Get Help