External Accessory

RSS for tag

Communicate with accessories connected to a device by the Apple Lightning connector or through Bluetooth using External Accessory.

Posts under External Accessory tag

69 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

How to make the device communicate with the iPhone 15 APP using the USB-C interface?
Before iPhone 15, the lighting interfaces required communication with external devices through mfi authentication,But there is no evidence to suggest that the USB-C interface needs to add an MFi authentication chip for authentication detection. Is there a way to use USB-C to detect external devices and communicate with each other in the app now, so that I can create my app and communicate with hardware devices
1
1
642
Jan ’24
AirDrop iOS17
Hi all, hope everyone is well. I'm seeking clarification regarding AirDrop functionality in regards to apps. For example, can the new AirDrop function within iOS17, whereby putting two iPhones together transfers user contact details to one another be utilised by an app? If not, please could I have clarification what bluetooth functionality within iPhone's an App may be able to utilise and could an app connect to AirDrop API's in any way? If the new AirDrop feature is not currently able to be utilised by apps, is this likely to change in the future with upcoming iOS updates or is it a set in stone thing? Apologies, I don't have the deepest understanding of this topic and any help is really appreciated, thank you.
0
0
545
Jan ’24
EAWiFiUnconfiguredAccessoryBrowser not being able to detect device the OS is able to detect
Hey there 👋, My team and me have implemented support for WAC devices in our App using EAWiFiUnconfiguredAccessoryBrowser. When the device we want to support is factory reset we are able to find it as well as the OS is able to. The device has a "setup wifi" button, which starts the WAC process, and iOS (as well as MacOS) are able to find it. Unfortunately we are not able to find it in that case using EAWiFiUnconfiguredAccessoryBrowser.. I could not find any restrictions on it in the documentation, any glues why we are not able to detect it in that situation? I isolated the problem in a sample and used the following implementation to test this: import Foundation import ExternalAccessory import os import Combine class WACWatcher: NSObject { private let browser: EAWiFiUnconfiguredAccessoryBrowser private let logger = Logger(subsystem: "WACWatcher", category: "networking") @Published var accessories: [EAWiFiUnconfiguredAccessory] = [] override init() { self.browser = EAWiFiUnconfiguredAccessoryBrowser() super.init() self.browser.delegate = self } func start() { browser.startSearchingForUnconfiguredAccessories(matching: nil) } func stop() { browser.stopSearchingForUnconfiguredAccessories() } } extension WACWatcher: EAWiFiUnconfiguredAccessoryBrowserDelegate { func accessoryBrowser( _ browser: EAWiFiUnconfiguredAccessoryBrowser, didUpdate state: EAWiFiUnconfiguredAccessoryBrowserState ) { switch state { case .wiFiUnavailable: logger.debug("WAC Browser state changed to wifiUnavailable") break case .stopped: logger.debug("WAC Browser state changed to stopped") break case .searching: logger.debug("WAC Browser state changed to searching") break case .configuring: logger.debug("WAC Browser state changed to configuring") break } } func accessoryBrowser( _ browser: EAWiFiUnconfiguredAccessoryBrowser, didFindUnconfiguredAccessories accessories: Set<EAWiFiUnconfiguredAccessory> ) { logger.info("WACWatcher found accessories: \(accessories)") self.accessories.append(contentsOf: accessories) } func accessoryBrowser( _ browser: EAWiFiUnconfiguredAccessoryBrowser, didRemoveUnconfiguredAccessories accessories: Set<EAWiFiUnconfiguredAccessory> ) { logger.info("WACWatcher removed accessories: \(accessories)") self.accessories = accessories.filter({ accessory in accessories.contains(where: { $0.name == accessory.name }) }) } func accessoryBrowser( _ browser: EAWiFiUnconfiguredAccessoryBrowser, didFinishConfiguringAccessory accessory: EAWiFiUnconfiguredAccessory, with status: EAWiFiUnconfiguredAccessoryConfigurationStatus ) {} } This WACWatcher gets used in a ViewModel and a view having a start stop button and a list showing the device name. If you'd need to see it, I can zip it and attach it to this post.
1
0
450
Dec ’23
EAAccessory - bluetooth connectivity issue in specific region
One of our customers in US unable to connect to our device. current status: able to discover device, when trying to connect it throws an error " (error :Error Domain=EABluetoothAccessoryPickerErrorDomain Code=1 "(null)") " tried with different models, iPhone 11, iPhone XR, iPhone 15.. result is same. But It is working fine in Asia regions. Note: External accessory framework protocols has been added already in Info.plist. ( which has been registered in the MFi Program) Any help greatly appreciated. Thank you!
0
0
520
Dec ’23
Android Device is not Listing For iphone Devices for coreBluetoothScanning
Hello Apple Support Team, As per the business requirement, we have to communicate and exchange data chunks between applications running on iPhones and Android-based or Android phones through Bluetooth interface. We have achieved the requirement through IP/Wifi communication. We are trying to connect to Android and iPhone devices via Bluetooth through an iOS application. We carried out Bluetooth implementation using CoreBluetooth libraries. Below are the findings done by our development team: Core Bluetooth Library Implementation           Importing Core Bluetooth Library in BTConnectionManager class, which uses CBCentralManagerDelegate, CBPeripheralDelegate, CBCentralManager, CBPeripheral as peripheral, [CBPeripheral] array as peripherals array. Using the below methods: centralManagerDidUpdateState, centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber), centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral), peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?), peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: Service, error: Error?) we are able to scan and connect to BLE devices Findings: We were able to get the list of low-energy devices like Airpods, Earphones and Bluetooth music devices. But Not able to scan Bluetooth high-energy devices like PAX / Android Phones   Please suggest to us the approach to make the Android running devices listed through the Core Bluetooth library. Thanks & Regards
0
0
603
Nov ’23
Generic Protocol Specification for USB Flash Drive to communicate with IOS App
Hello Everyone, I am developing an IOS application for communicating with USB Flash Drive. For that I am going to use EAAccessory Framework. To be use EAAccessory Framework I need to mention protocol specification of USB Flash Drive (hardware) in info.plist file. Looking forward to know generic protocol specification which will enable IOS application to communicate with most or all USB flash drives.
2
0
549
Nov ’23
Macbook air 2020 gets stucks when miroring screen to an external display
I a macbook air 2020 m1 16Gb Ram and I'm having an annoying bug that started after i updated my mac to mac Sonoma 14.1. Whenever I connect an external display to my mac (hp e22 g4), mirror the screen and then start to watch a video the mac gets stuck. The keyboard doesn't respond, closing the lid doesn't help, only hard resetting the mac and causing to reboot seems to stop this. If I extend the display to the external monitor the bug doesn't occurs, it happen only when mirroring the screen. Tried different usb c to hdmi adapters, including high quality adapter, but it still happens. It didn't happened on older versions of mac os with the same adapter. Also, tried replacing the hdmi cable, but it doesn't seem to help. Can anyone help me with solving this issue? It's really annoying that I cant' mirror my mac's screen.
1
0
496
Nov ’23
External monitor freezes on scroll when connected to MacBook Pro
Hi, I have an AOC 27G2 27" 144hz monitor running windows 11 connected to my 2019 14" mb m1 pro, running Monterey 12.5.1. Whenever I connect the two via hdmi the screen on my external monitor disconnects or the screen freezes and I cannot scroll anymore. Should I try usb-c to display port? Like this: https://www.amazon.com.au/DisplayPort-CableCreation-Thunderbolt-32-4Gbps-Compatible/dp/B08BXPVPPQ Wondering if anyone has had this issue or has a solution, cheers.
1
0
774
Oct ’23
AVAudioSession allowBluetoothA2DP not working on external device iOS17 playAndRecord session
I saw a similar post to this where the issue was fixed in the final iOS17 release, but I am still having a problem since my situation is slightly different. I am wondering if its a bug based on current behavior, but was hoping maybe someone knows if the issue is with my setup? I am trying to monitor an external USB camera's audio input using the new iOS17 external call for iPad, over bluetooth. func setupAudioSession() { let audioSession = AVAudioSession.sharedInstance() do { try audioSession.setCategory(.playAndRecord, mode: .default, options: [.allowBluetoothA2DP, .defaultToSpeaker] ) try audioSession.setActive(true) } catch { print("Failed to set up audio session: \(error)") } } When my execution order is: setupAudioSession() // code above // discover and connect the session AV inputs to the external USB // start an audio engine // connect audio engine output to a buffer queue and play // start the session My app does not allow routing to the headphones and directly switches to speaker. However if I change the order to this: setupAudioSession() // code above // discover and connect the session AV inputs to the external USB // start an audio engine // start the session --- !starting before connecting output! // connect audio engine output to a buffer queue and play The session stays connected to Bluetooth and plays over the headphones. However if I suspend the app and relaunch, I get switched back to speaker. I understand maybe the system is trying to prevent an audio feedback loop? But don't understand why launching the session early would get the desired behavior. Any help would be greatly appreciated.
1
1
759
Oct ’23
Check whether there has been any iOS SDK framework or program that support developing a custom driver for our own hardware device via USB type C port (after the release of the new iPhone 15 with type C port supported)
I'd like to check whether there has been (or there will be) any iOS SDK framework or program that support developing a custom driver for our own hardware device via USB type C port, especially after the release of the new iPhone 15 with type C port supported. In addition, I'd like to understand how the app review process will work if we're releasing a Crypto Wallet application that utilizes the cold wallet hardware device, will it be necessary for us to send a set of hardware over to the Apple review team, or the app review can be arranged without the actual device?
3
0
841
Oct ’23
iOS 17.1 Beta 2 - Bluetooth audio levels not reaching max - iPhone 15 Pro
On iOS 17.0.2 my bluetooth devices (CarPlay and earbuds) were performing at normal levels with all sound settings at default. In the gym, I like to max out my bluetooth earbuds. However, after updating to iOS 17.1 Beta 2 (21B5056e), my bluetooth earbuds set at max volume sounded medium. My first troubleshooting method was to check the sound settings... all setting (including accessibility) were left at the default inputs. To further troubleshoot, I tried other downloaded albums on my music library/playlists...all noticeably lower at max volume. I was thinking this might be related to my earbuds. However, when driving, I decided to play the same album in my 2021 GMC Sierra via CarPlay... I had to turn up the dash knob audio substantially higher to replicate what was considered loud (or rather "comfortably loud") in my truck. Apple tech supports only recommendation was to do a system restore and roll back to 17.0.2. Has anyone else tested music quality/sound over bluetooth before and after they updated from 17.0.2. to 17.1 Beta 1/2 ?
2
0
1.3k
Oct ’23
Ventura 13.4 External Display Sleep Loop Bug
The Ventura 13.4 update introduced a display signal lost bug which when the monitor is put to sleep after power saving setting is reached or if manually using the shortcut keys to put sleep the display, it wakes up the monitor briefly then tries to go back to sleep for 15 seconds and then wakes up with the “no signal” warning in an infinite loop. It's starting to be reported by others, where this did not exist until after the update. Reddit: Ventura 13.4 Display Sleep Issue https://www.reddit.com/r/MacOS/comments/13lyu2y/macos_ventura_134_display_sleep_issue/ I tried everything from turning off power saving settings, turned off screen saver, WoL, uninstalled color calibration software, reset monitor to factory settings, booted into safe mood, nothing had an effect. Should I submit a bug report?
34
6
6.7k
Oct ’23
Allow app to access to USB accessory
Hi, I have an iOS app that interacts with a USB accessory. This works fine when running on an iPhone or iPad. However, when I compile the app in Xcode to run on my M1 Mac, the app won't see any USB devices. The target I use is "My Mac (designed for iPad)" which was the path of least resistance when compared to trying Catalyst. Is it possible to give my app access to USB accessories when running on my Mac? If so, what settings do I need to change? I've tried setting the "com.apple.security.device.usb" entitlement to true to no avail. Is the issue that the app is running in some sort of sandbox?
5
0
799
Oct ’23
How to retrieve Serial Number of USB Flash Drive connected with iPhone?
Hi Team, For our project requirement, we are developing iOS application inorder to retrieve Serial No. of USB flash drive programatically. Need your help in obtaining clarification on below query Query: i) We are accessing flash drive using "UIDocumentPickerViewController". Is there any class/method which can help us to get serial number of USB flash drive connected with iPhone13(Using lightening OTG adaptor)?
1
0
540
Oct ’23
1 minute Delay in External Accessory framework showBluetoothAccessoryPicker
I have to pair the classic Bluetooth device with my iOS application. For that, I have implemented showBluetoothAccessoryPicker with the External Accessory framework. EAAccessoryManager.shared().showBluetoothAccessoryPicker(withNameFilter: nil)), this is the code I have used for that. Added "Supported external accessory protocols" in .plist and enabled Wireless Accessory Configuration from capabilities. The actual issue is the picker displaying the device to pair with a 1-minute delay. What is the reason behind this reason and how can we resolve that?
1
0
888
Oct ’23
Assistance Needed for Data Recovery from HD External Drive
I am using a 2021 MacBook Pro 16" with an Apple M1 Max chip and 64 GB of RAM, running macOS Ventura 13.6. I have been using an external drive, the Seagate BarraCuda Compute 2TB Hard Drive. Last week, I used it about five times to save some photos and work on Excel files. However, when I tried to open it the following day, it prompted me for a password, but it failed to mount. The partition type is Apple_HFS, and it is encrypted because I used it with Time Machine a few years ago. I can hear the noise it typically makes when I was working on it, but it doesn't mount. So, I attempted to view it in Disk Utility, but to no avail. I can see the drive, but the partition I use appears gray, and the Mac attempts to mount it. When I try to click on it in Disk Utility, the application crashes, and I have to force quit it. I also tried purchasing a new external hard drive reader to use with my hard drive, but I encountered the same issue. I also tried to work with the Terminal, but it responds very slowly. For example, the 'diskutil list' command took approximately 5 minutes to generate a response, and when I attempted to eject it, it didn't work and remained stuck loading. I have the last six years of my life stored on this drive, so it would be incredible to recover the data. Do you have any suggestions?
1
0
373
Oct ’23
INCOMPATIBLE DISK error message upon launching Big Sur APFS vs MacOS Extended issue in Big Sur?
Running on: iMac 27" 5k late 2015 - 64gb ram and a 16tb Pegasus Promise2 R4 raid5 via Thunderbolt. After trying Big Sur - found issues with Luminar Photo app, decided to return to Catalina on the iMac. Reformatted my internal drive and reinstalled Catalina 15.5 and reformatted the raid. But I keep getting the following message upon restarting: "Incompatible Disk. This disk uses features that are not supported on this version of MacOS" and my Pegasus2 R4 portion no longer appears on the desktop or in Disk Utility... Looked into this and discovered that it may be an issue of Mac OS Extended vs APFS The iMac was formatted to APFS prior to installing OS11 so I reformatted to APFS when returning to Catalina. The issues persisted so I re-reformatted from a bootable USB - this time to Mac OS Extended (journaled) and the issues seems to be resolved. The iMac runs slower on MacOS Ext, but it is running and the Raid is recognised... I'd love to go back to APFS but am afraid it will "break" things. Any thought on this would be welcome. Thanks Nick
6
0
15k
Oct ’23