Hi all,
In InfiniTime, somebody finally implemented ANCS which forced iOS to encrypt the ble connection. As a result, my PineTime appears in the battery widget. Unfortunately, I only get a Bluetooth logo as the icon. Ideally it would be a smartwatch glyph. The GAP appearance value is being set to 0xC2 (smartwatch)
Note: I've used CMF watches in the past, and they display with a smartwatch icon
Any thoughts?
Accessories
RSS for tagDiscuss designing and creating accessories that complement Apple devices.
Posts under Accessories tag
31 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Our goal is to establish a Wi‑Fi Aware data path (NDP) between Apple and Android devices.
Apple will act as the Publisher, and Android will act as the Subscriber.
Apple-to-Android pairing has already been completed.
The Android device can be normally displayed on the Apple official Wi-Fi Aware Sample. However, the indicator is not green.
During pairing, the Apple log shows: state: authenticated, and the Android side triggers the callback onPairingSetupSucceeded.
During pairing verification, the Apple log shows: state: authenticated, and the Android side triggers the callback onPairingVerificationSucceed.
The Android side sends an NDP request to Apple (as shown in the figure 1), but Apple does not reply.
Note: Qualcomm’s NDI and NMI are different.
In addition, after Apple-to-Apple pairing is completed, the paired device will be recorded in “Settings → Privacy & Security → Paired Devices”.
However, after Android-to-Apple pairing is completed, the device is not saved to this list.
My iPhone model: iPhone 13, iOS 26.0 (23A5287g).
After Apple-to-Apple pairing is completed, the paired device will be recorded in “Settings → Privacy & Security → Paired Devices”.
However, after Android-to-Apple pairing is completed, the device is not saved to this list.
Android device can be normally displayed on the Apple official Wi-Fi Aware Sample. However, the indicator is not green.
During pairing, the Apple log shows: state: authenticated, and the Android side triggers the callback onPairingSetupSucceeded.
During pairing verification, the Apple log shows: state: authenticated, and the Android side triggers the callback onPairingVerificationSucceed.
My iPhone is iPhone 13, iOS 26.0 (23A5287g)
I usually connect my iPad Pro M1 to an external monitor via the USB-C port without any issues. However, after updating to iPadOS 26 Beta 5 and now Beta 6, the connection no longer works.
To troubleshoot, I tested other devices and setups:
Tried connecting a wireless mouse via a 2.4GHz USB receiver - no response.
Tried connecting the iPad to my MacBook via USB-C to USB-C cable - not recognized.
Both the external monitor and mouse still work perfectly with my MacBook Air (macOS 18.6). This leads me to believe there may be a problem with the iPad’s USB-C data transfer functionality.
I’ve checked the iPadOS 26 Beta Release Notes and found no mention of this issue.
Is anyone else experiencing the same problem? Has Apple acknowledged it or provided any updates?
Thanks for your help!
iPhone 12 pro with iOS 26.0 (23A5276f)
App: https://developer.apple.com/documentation/wifiaware/building-peer-to-peer-apps
We aim to use Wi-Fi Aware to establish file transfer between Android and Apple devices.
Apple will act as the Publisher, and Android will act as the Subscriber.
According to the pairing process outlined in the Wi-Fi Aware protocol (Figure 49 in the Wi-Fi Aware 4.0 specification), the three PASN Authentication frames have been successfully exchanged. Subsequently, Android sends the encrypted Follow-up PMF to Apple, but the Apple log shows: Failed to parse event. Please refer to the attached complete log.
We request Apple to provide a solution.
apple Log-20250808a.txt
Hi everyone 👋
I’ve been using the Apple Pencil Pro with my iPad Pro M4 and absolutely love it — the squeeze gesture, rotation, and haptics are amazing for creative work. But I’ve run into a little roadblock…
Right now, only one Pencil Pro can be paired at a time. So while one is charging, you can’t use another as a backup without unpairing and re-pairing, which interrupts the workflow.
I’d really love to see one of two things:
The ability to use one Pencil while another charges
or
An official external charger (or support for third-party ones)
Personally, I’d happily buy both a second Pencil and a charger if this became possible. I’ve even chatted with other creatives who feel the same — it would make a huge difference for long projects or working on the go.
Just wanted to share this idea and see if anyone else here would like this too. Thanks for reading!
Hello, I want to try develop hearing aid based on stm32 with BLE Module.
If I want to only stream music from iPhone, does I need mfi certification? And I want to develop application with changing program on device
Hi there!
I'm developing a dual-mode bluetooth accessory and would like to pair it through AccessorySetupKit. I'm using an ESP32 with Bluekitchen btstack. This supports CTKD, which seems to be a requirement for the Bluetooth transport bridging according the WWDC19 session 901. I've been in contact with the btstack developer and verified that I can get the device to generate an LTK for the classic transport when reading an encrypted attribute. I'm not able to get this to work with the bluetoothTransportBriding option with AccessorySetupKit though.
What I've found so far is that if I omit the .bluetoothTransportBriding option during pairing I will get a pairing request when I read an encrypted attribute after connecting with the CBConnectPeripheralOptionEnableTransportBridgingKey option. If I accept this request it seems like the system automatically brings up the A2DP profile.
However if I include .bluetoothTransportBriding and/or .bluetoothPairingLE this option does not pop up, but the system does not bring up the A2DP profile. In this case things seem to end up in a weird situation where the device doesn't show up for pairing in Bluetooth Settings either, making it impossible to manually connect for A2DP.
Based on the AccessorySetupKit example from WWDC24 I've created a dice accessory firmware for ESP32 using btstack. The code for this is available here: https://github.com/ljodal/esp32-btstack-ctkd-test
I've also tweaked the AccessorySetupKit example app for iOS to add the ASAccessory.SupportOptions. The code for that is available here: https://github.com/ljodal/accessorysetupkit-ctkd-test
Is there any documentation available anywhere on what is expected of the device for Bluetooth Transport Bridging to work with AccessorySetupKit?
Topic:
App & System Services
SubTopic:
Hardware
Tags:
External Accessory
Accessories
Core Bluetooth
AccessorySetupKit
I'm working on a ble connected device that use ancs and system clock to receive alarm notification events for earing impaired people. It used to work until iPhone 13 with latest iOS 18.x. Starting with iPhone 14 onward (iOS 18.x), system clock alarm notification is not sent anymore.
Is There any reason for this to happening?.
Is anyone aware of this behaviour?
Any suggestion would be really appreciated.
Cheers
I need to implement an app that exchanges data with peripherals through TypeC on Apple 15 phones, but I have two questions that I need to ask for help:
Which library is used to communicate with peripherals through the TypeC port of the Apple mobile phone?
Do peripherals need to pass MFi authentication before they can communicate with the App?
Hey everyone, how’s it going?
I’d like to know if, by enrolling in Apple’s MFi program, I’ll gain access to develop my own tags and my own app to track them using Apple’s Find network. I also read that there’s an estimated cost of $4 per device—does that apply to each device produced, or only at the time of registering the device, with no fee for additional units?
Dear Sir,
I have some questions of IC firmware development of Find My.
Any rule request that item must include dual bank feature in IC?
I am using Nordic SDK_Connect SDK, Apple has own SDK? If yes, can I download it to use?
In Find-My, Apple has service UUID in bluetooth IC?
Thank you.
Best regards,
Sam Ng
Our company is working on Smartphone integration - CarPlay, because of that we need to access MFi for some certification. I went through the enrollment, but the payment gets stuck after confirmation and after some minutes it tells me it takes very long time to proceed. How can I enroll for MFi?
For security reasons, my application needs to prohibit external devices. If it is determined that the current phone is connected to any external devices, including non MFI authenticated devices, the app will exit. Please tell me how to do it? Thanks for your help.
I am trying to connect to an accessory's WiFi network using the below code and I always see the message "connection succeded" even if I provide an incorrect passphrase. I tried with different accessories and see the same behavior.
hotspotConfigurationManager.joinAccessoryHotspot(accessory, passphrase: passphrase) { error in
if let error = error {
print("connection failed: \(error.localizedDescription)")
} else {
print("connection succeeded")
}
}
I am developing a video streaming app for iPhone.
Minimum version is IOS 13.
I want to connect an external USB camera to the iPhone app and stream from it.
I have looked through a lot of information and have not found how to do this.
Is it possible to do this? Is there any documentation on this?
Howdy!
I'm in the R&D phase of this project and I need help. I can't find any sources that verify what I want to do is even possible.
I need to connect an iPhone or iPad using a USB cord to an external device which will transfer files to the iPhone or iPad. I have an app already made which can organize the files and whatever else I need to do (app is from a similar project). I'll refer to this device as Alfred (for poops and giggles)
The plan (if possible) is for Alfred to recognize my app and use its documents folder as the destination of the transfer. The iDevice doesn't have to communicate with Alfred, but that would be a bonus.
I don't want Alfred to run on an SOC. My goal is to have it be as simple as possible. No OS, just firmware. If the only way to interact with Apple Devices is Bluetooth or Wifi than so be it. If Matter or Thread could be utilized I wouldn't be apposed.
Any help with this project would be greatly appreciated. Thanks in advance.
Is there any way to use AccessorySetupKit in the background to discover BLE devices?
We are experiencing problems with the USB port on iPad Pro 11 inch (M4) model number MVW13NF/A. Our custom peripheral device (based on Raspberry Pi Pico + tinyUSB stack, is configured as a network adapter class and has communication with our App over UDP protocol. Our device also acts as a DHCP server, providing the IP address for iPad.
The problem can be described as a “bus stall” or "bus hold" after sleep mode. To reproduce it we just send the iPad into sleep mode using a power button, the USB bus on M4 goes to the suspended state and won’t resume anymore when we wake the iPad up.
The problem has occurred since the upgrade to iOS 18.2.1 and has not been observed before on the previously installed iOS 17 on the same iPad Pro M4.
Also, the problem does not happen on the iPad Pro 11 inch (3rd gen with M1) model number MHW73FD/A, with the same iOS 18.2.1 installed. The problem also does not arise, if we connect our device via USB hub to the same iPad Pro M4.
We have tested different versions of tinyUSB stack (either included in RPi Pico SDK or native unpatched). The problem is independent of the library version. It occurs always if our device is connected directly to the USB port of iPad Pro (M4) with iOS 18. It also stays after upgrading to the latest iOS 18.3 (beta)
In the attached logs is (reduced for clarity) debug output from tinyUSB library about events on the USB bus. These logs were captured via RTT debugging output, using Segger J-Link debugger, so logging process does not affect the timings on the USB bus.
There are three logs attached, for cases 1: "iPad Pro M4 + iOS18" (i.e. problematic case), 2: "iPad Pro M1 + iOS18", and 3: "iPad Pro M4 + iOS18 + external USB hub" (they are non-problematic cases).
case1_usbd_log.txt
case2_usbd_log.txt
case3_usbd_log.txt
This was already posted as feedback with id FB16366509
First of all, my English skills are not good, so I wrote an AI program and sent it to complete the questions. sorry.
I'm developing a safety monitoring application that requires continuous BLE scanning for temperature and humidity sensors. I need clarification on the technical feasibility of background and sleep mode operation.
Key Requirements:
Continuous monitoring of BLE advertisements from temperature/humidity sensors
Must detect critical temperature/humidity changes immediately
Data logging every minute
Includes navigation features showing routes
Technical Questions:
Background Mode Operation
If using background modes (bluetooth-central + location):
Can we receive BLE advertisements reliably?
What is the actual scanning interval limitation?
Will CBCentralManagerScanOptionAllowDuplicatesKey limitation affect critical monitoring?
Sleep Mode Operation
Can the app maintain BLE scanning during device sleep?
Would combining with navigation background mode help?
Are there any recommended approaches for continuous monitoring?
Sample Code of Current Approach:
let options: [String: Any] = [
CBCentralManagerOptionShowPowerAlertKey: true,
CBCentralManagerOptionRestoreIdentifierKey: "uniqueIdentifier"
]
centralManager = CBCentralManager(delegate: self, queue: nil, options: options)
// Scanning setup
centralManager.scanForPeripherals(
withServices: [serviceUUID],
options: [CBCentralManagerScanOptionAllowDuplicatesKey: true]
)
Has anyone successfully implemented continuous BLE monitoring in background/sleep modes? Are there any special entitlements or techniques that could help achieve this?
This is for a safety-critical application where missing sensor data could lead to serious issues.
Any guidance would be greatly appreciated.