External Accessory

RSS for tag

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

External Accessory Documentation

Posts under External Accessory tag

85 Posts
Sort by:
Post not yet marked as solved
0 Replies
474 Views
Hi everyone, I'm currently working on a Bluetooth device that doesn't support pairing. While going through the MFi certification documents, I noticed that pairing seems to be a required feature. Has anyone had experience getting MFi certification for a device that doesn't support pairing? Is it even possible? Any insights or guidance would be greatly appreciated! Thanks in advance for your help!
Posted Last updated
.
Post not yet marked as solved
0 Replies
495 Views
Hi, currently I have a project to develop a customized iOS/iPadOS app that is expected to can connect and communicate an External Cameras to iPhone/iPad device through USB Connection. The app should be able to access the taken photo from the External Cameras and/or take a shot executed by the app. The external camera manufacturers are like Canon, Nikon, and Sony. As references, there are some apps that have that capability above released in Appstore: https://apps.apple.com/us/app/camera-connect-control/id1457548017 https://apps.apple.com/id/app/image-capture-go/id1606632530?platform=iphone As far as I know, I can connect to the Camera by using External Accessory framework provided by Apple as long the external device is MFi program supported and I have the detail of command protocol of the the device used. In my case, Canon Camera is listed as MFi device in https://mfi.apple.com/account/accessory-search. But I don't have the detailed command protocol of the device to communicate with. Questions: Is my understanding related External Accessory framework correct? How to connect and communicate external camera to iPhone/iPad via USB by using External Accessory framework? Is there any other work around to do the things like the reference apps in Appstore above? Thank you very much.
Posted
by IvanPN.
Last updated
.
Post not yet marked as solved
0 Replies
536 Views
Ranging is working great when I'm removing the BluetoothPeerIdentifier parameter but if I want to do some background ranging, I need to be able to use the removed parameter. Somehow when I'm both AccessoryData and BluetoothPeerIdentifier parameters, I got the NIErrorCodeInvalidConfiguration error code and i can't range anymore. Do you guys have a fix for that? The parameter BluetoothPeerIdentifier is not NULL so it should work properly... Thank you, Marc
Posted
by maschanck.
Last updated
.
Post not yet marked as solved
0 Replies
427 Views
I am using an BLE HID mouse, and I have an option to recenter the mouse according to screen resolution that I get from an iPhone. I have 2 issues regarding this post: Getting the screen resolution of an iPhone 11 sends back the resolution of an iPhone 11 Pro and vise versa. To re-center the pointer, I send an HID movement to the iPhone, first to the corner (doesn't matter which one), second to center which is just the resolution divided by 2 on both width and height. Not consistent, but the pointer doesn't always go to the center. My questions are: Why is the resolution sends differently on these devices? Is there a correct way to center the pointer using HID movement commands?
Posted
by rudokir.
Last updated
.
Post not yet marked as solved
1 Replies
389 Views
While using an HID device that recognized as mouse and keyboard using assistive touch, I noticed that sometimes after some usage, the feature in "AssistiveTouch" menu called, "Perform Touch Gestures", is no longer working although it remains on, as well as the assistive touch that remains on. In order to make it work again, you need to turn off and on the assistive touch feature. What could cause this issue? Does it relate to the HID Descriptor of report map? Or am I sending some commands that can cause this crash? Is there any way to avoid/be aware/get some callback on when this feature crashes using swift?
Posted
by rudokir.
Last updated
.
Post not yet marked as solved
3 Replies
1.6k Views
Hi, Hope you are all fine ! I had a problem on several disk due to bad unmounting caused by Caldigit TS4. The TS4 has/had problem managing hard drives and sleep of the computer… The problem appeared on internal drives pugged into a OWC Dock. The dock is TB2 with Apple TB2 to TB3 pugged into the Caldigit TS4. One of the drives is a 4TB Seagate Exos Enterprise that is brand new and I'm almost sure I formatted it in APFS when using it for the first time. The other/s are 2TB or 3TB but almost sure at that time I was using HFS. The drives are seen But no way to SOS… This particular 4 TB drive seems to respond mechanically well, like spinning when tryning to acces, going to sleep…And is brand new… After reading a few (many actually ;) ) pages on Apple forums I've found, I've tried the diskutil way on terminal… but having some problem with syntax, sometimes it worked sometimes I think I'm not writing correctly so it does nothing… If I understand well this error com.apple.DiskManagement.disenter error -119930868 Is a directory problem. A long time ago I used Disk Warrior a lot in the G4/G5 age ;) But it seems it doesn't handle APFS… I've run a scan with Stellar Recovery and this software seems to see all my files… The Hard drive seemed to act normally during all the process… But it seems it doesn't just rebuild the directory and will recover all the files and put them like video in video folder…pictures in picture folder… so I'll have my files but a great mess… I've also tried rhe FSCK command…but didn't undertood enough to get something good… So my question are : As the data seems to be there and the drive still working fine, is there a way to make Mac Os or a software rebuild the directory like Disk Warrior used to do. And not just back uping the files a la Stellar recovery. Could someone make a comprehensive diskutil / fsck tutorial for noobs ;) After the fix , if successful … should I throw this drive away or the prob is only a Mac OS bug… Can the adapted TB2 to TB3 add source of problem ? Can the adapted TB2 to TB3 ON Caldigit TB port add source of problem ? AFPS is still recommanded for external HD Could someone explain those DiskManagement.disenter error Best .V
Posted
by Panam.
Last updated
.
Post not yet marked as solved
2 Replies
715 Views
I'm developing an app that connects and uses a USB device. Is there a way to build and debug in Xcode with a USB device connected to an iPad or iPhone? I tried connecting a USB hub to ipad, but Xcode didn't recognize it. Using Devices PC:mac mini M1 Soft:Xcode ipad:ipad air(5th) USB Device:MOTU M4(Audio Interface)
Posted
by K-K.
Last updated
.
Post not yet marked as solved
1 Replies
481 Views
I got me a new Mac mini. I am running public beta of Sonoma (maybe a big mistake :). It won't recognize my bt keyboard and mouse. From what I've read it is supposed to automatically go into a pairing mode if it has no connected mouse and keyboard. I press the button on each remote, and hold it, until it blinks fast. Then I wait. Nothing. Maybe I need to do something specific with my Logitech mouse and keyboard. Is there a way for me to use an iPad or a MacBook to be the keyboard and mouse over wifi or bluetooth?
Posted
by pitosalas.
Last updated
.
Post not yet marked as solved
0 Replies
338 Views
we have a device which provides both Bluetooth(iAP2) and Wi-Fi hotspot. When we connect an iPhone to this device through Bluetooth, is it possible to connect to its Wi-Fi hotspot automatically without user's interaction and permission automatically? The reason is the steps that switch to BT settings page and set up to connect the BT, then switch to wifi page to connect wifi is too complicated. Cloud someone help me or give some hint? Thanks.
Posted Last updated
.
Post not yet marked as solved
1 Replies
1.2k Views
I have a BLE peripheral I have connected to before with an iPhone running iOS 16 (via my app). The peripheral has a utility to change its name. After the name change my app still displays the old name. I've run into this issue before, a year or so ago, under an older version of iOS. Performing a reboot of the phone would clear the cached name and allow the new name to appear. This remedy no longer works in iOS 16. I have verified with another iOS device and an Android app that the new name is being advertised. I monitor for a name change with peripheralDidUpdateName but that function never gets called. How do I clear the cache in iOS 16? I do not need to do this programmatically and I would rather not reset the iPhone, which WILL work.
Posted Last updated
.
Post not yet marked as solved
1 Replies
381 Views
TLDR: WD External Hard Drive shows in finder and in NTFS/WD software but won't mount when pressed. I have two WD External Hard Drives, a 1 and 4 TB Drive. I am a graphic designer and like keeping photography, videos and assets or old projects on other drives so they don't take up space on my computer. A couple months ago one of my 4 TB Drive wouldn't mount to my computer, and after messing with the WD software that I had installed on my computer for a few hours I gave up and decided to just start saving stuff onto my computer. While working in Photoshop I got the error that my Scratch Disks were full and that I needed to free up some space, so I tried off loading some undergrad work onto my 1TB Drive and had the same issue. I tried using different cords, reinstalling software, and troubleshooting to no avail. I live pretty far from the nearest Genius Bar so I thought I'd try posting here before scheduling a appointment. Reminder that I can physically click the "Mount" button, but it gives me loading animation for a second then reverts back to the same "Mount" button as before and the drive doesn't show on my desktop or in my Finder.
Posted
by JordanK.
Last updated
.
Post not yet marked as solved
7 Replies
2.2k Views
App is crashing while a bluetooth device is disconnected. I've seen few related threads and they say "A notification delegate was not reset to nil. A fix has been applied at version 10.3.79."Following is crash log:Triggered by Thread: 0 Thread 0 name: Thread 0 Crashed: 0 libobjc.A.dylib 0x000000018544c430 objc_msgSend + 16 1 ExternalAccessory 0x000000019c07c4dc -[EAAccessoryManager _notifyObserversThatAccessoryDisconnectedWithUserInfo:] + 104 (EAAccessoryManager.m:909) 2 ExternalAccessory 0x000000019c07eddc -[EAAccessoryManager _externalAccessoryDisconnected:] + 928 (EAAccessoryManager.m:1537) 3 CoreAccessories 0x00000001a7892ccc __54-[ACCExternalAccessoryProvider ExternalAccessoryLeft:]_block_invoke + 316 (ACCExternalAccessoryProvider.m:453) 4 libdispatch.dylib 0x0000000185b6d088 _dispatch_call_block_and_release + 24 (init.c:994) 5 libdispatch.dylib 0x0000000185b6d048 _dispatch_client_callout + 16 (object.m:502) 6 libdispatch.dylib 0x0000000185b79b74 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1016 (inline_internal.h:2500) 7 CoreFoundation 0x0000000186191eb0 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 (CFRunLoop.c:1815) 8 CoreFoundation 0x000000018618fa8c __CFRunLoopRun + 2012 (CFRunLoop.c:3111) 9 CoreFoundation 0x00000001860affb8 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3245) 10 GraphicsServices 0x0000000187f47f84 GSEventRunModal + 100 (GSEvent.c:2245) 11 UIKit 0x000000018f6842e8 UIApplicationMain + 208 (UIApplication.m:3949) 12 MYAPP 0x0000000100ab8d58 main + 172 (main.m:16) 13 libdyld.dylib 0x0000000185bd256c start + 4
Posted Last updated
.
Post not yet marked as solved
1 Replies
500 Views
i have been making ios app that communicate with ESP32 using bluetooth classic. but this is very difficult to develop, because i can't find any Bluetooth scan app for test that can communicate with ESP32 until now, moreover, i can't find any sample code for Bluetooth Classic Communication . my client want me to make ios app using Bluetooth classic because of compatiblity, in other words, still, users using Bluetooth Classic iphone are used lots of users more than Bluetooth Low energy. so i doubt this assumption is right. if i make a bluetooth low energy app, can it be a trouble ?
Posted Last updated
.
Post not yet marked as solved
5 Replies
4.4k Views
The airpods pro 2 connect to the ipod nano 7th generation but there is no sound. I can start and stop playback by clicking the stems so the airpods are talking to the nano. I don’t expect all the features I would get on ios 16 but the ipod is a bluetooth device so the new airpods should be supported. they sound gteat on my iphone and ipad so they are not defective. airpods pro 1 work fine with the nano. hoping for a swift software fix.
Posted Last updated
.
Post not yet marked as solved
2 Replies
1.3k Views
I have found that the adaptor to enable the use of Nreal glasses is not working. This is very frustrating as I have been looking forward to using the glasses with my iPhone 14 Pro Max. Having searched on various forums I find that this is a problem with the software and can't be resolved until a fix has been released. This is very disappointing at this time of the year when releases are so far apart. If anyone knows of a workaround please give me a pointer in the right direction.
Posted Last updated
.
Post not yet marked as solved
0 Replies
341 Views
I am trying to export mails from Outlook on a Mac using AppleScript as it does not work with VBA. However, I don't progress a lot, the text files are not saved to my Desktop and that's why it always stops with an empty Excel sheet. Any hints? -- Step 1: Export emails with the Red category to text files set desktopFolderPath to (path to desktop) as text tell application "Microsoft Outlook" set redCategoryName to "Red" set redEmails to {} set allEmails to every message of inbox repeat with anEmail in allEmails if (subject of anEmail) contains redCategoryName then set end of redEmails to anEmail end if end repeat end tell -- Export emails with the Red category to text files tell application "Microsoft Outlook" repeat with redEmail in redEmails set emailSubject to subject of redEmail set receivedTime to receivedTime of redEmail set filePath to desktopFolderPath & (my formatReceivedTime(receivedTime) & "_" & emailSubject & ".txt") set mailBody to content of redEmail set fileRef to open for access file (POSIX file filePath) with write permission write mailBody to fileRef close access fileRef end repeat display alert "Emails with the Red category have been exported to text files." end tell -- Step 2: Extract filtered information from text files and write to an Excel file tell application "Microsoft Excel" set excelFilePath to desktopFolderPath -- Replace with your desired Excel file path set newWorkbook to make new workbook tell newWorkbook set activeSheet to active sheet set rowIndex to 2 -- Start from row 2 for data set cellValue of range "A1" of activeSheet to "Sender" set cellValue of range "B1" of activeSheet to "Email Reference" set cellValue of range "C1" of activeSheet to "Names in the Mail" set cellValue of range "D1" of activeSheet to "Email Addresses in the Mail" set cellValue of range "E1" of activeSheet to "Phone Numbers in the Mail" set cellValue of range "F1" of activeSheet to "Date Received" -- Get the list of text files in the folder set textFolderPath to (POSIX file desktopFolderPath) as alias -- Replace with your folder path set textFiles to every file of textFolderPath whose name extension is "txt" -- Loop through each text file and extract filtered information repeat with textFile in textFiles set filePath to (POSIX path of (textFile as alias)) set fileContent to read textFile set senderName to "" set emailReference to "" set names to "" set emailAddresses to "" set phoneNumbers to "" set dateReceived to "" -- Extract the desired information from the fileContent -- Modify this section to extract the information based on your requirements -- Write the filtered information to the Excel worksheet set cellValue of range ("A" & rowIndex) of activeSheet to senderName set cellValue of range ("B" & rowIndex) of activeSheet to emailReference set cellValue of range ("C" & rowIndex) of activeSheet to names set cellValue of range ("D" & rowIndex) of activeSheet to emailAddresses set cellValue of range ("E" & rowIndex) of activeSheet to phoneNumbers set cellValue of range ("F" & rowIndex) of activeSheet to dateReceived set rowIndex to rowIndex + 1 -- Move to the next row for data end repeat save workbook as excelFilePath close newWorkbook saving no end tell display alert "Filtered information has been written to the Excel file." end tell -- Helper function to format received time on formatReceivedTime(receivedTime) set AppleScript's text item delimiters to {" ", "/", ":"} set receivedTimeItems to text items of (receivedTime as string) set formattedTime to (item 1 of receivedTimeItems & "-" & item 2 of receivedTimeItems & "-" & item 3 of receivedTimeItems & "_" & item 4 of receivedTimeItems & item 5 of receivedTimeItems & item 6 of receivedTimeItems) set AppleScript's text item delimiters to "" return formattedTime end formatReceivedTime
Posted
by Pascal_Hl.
Last updated
.
Post not yet marked as solved
2 Replies
622 Views
We have a BLE device (under development). The device is MFi capable and is visible in Accessibility->Hearing Devices and I can connect and steam music to my device. When I disable the MFi feature and use a custom advertisement with custom 128-bit data and 128-bit Service Class UUIDs (0x07) advertisement type field, the device does not show up on the Bluetooth screen. There are other Android devices like my LG TV which show up on my phone's Bluetooth screen while my BLE device does not show up on the scan list. Here are the details of my iPhone: iOS version - 16.5.1(c) Modem firmware - 3.70.01 What is the advertisement data that needs to be sent in my BLE device's advertisement packet to enable iPhone to detect it with a generic BLE device scan?
Posted Last updated
.
Post not yet marked as solved
0 Replies
412 Views
We are developing an app that is going to be used with hardware that is connected through bluethooth to the iOS device, where we use a device with an MFI external accessory, and we are using the external accessory framework, and this will require some background tasks, we understand that there is a limitation on the use on background capabilities, but we were wondering what is the best approach to gather information from the hardware while the app is running on the background? think of the Oura ring, the app is gathering some information while you are sleeping, not processing, not fully running, only gathering information. Should we doit with the BGProcesingTask? or there is an additional background strategy to this kind of use case? Thanks.
Posted
by Adadros.
Last updated
.
Post not yet marked as solved
0 Replies
445 Views
Not sure if this is the right place to put it, but if you guys have answers it's much appreciated. I have a BLE-enabled Arduino board that I want to use as a client to receive notifications from my iPhone 13 over ANCS. I can connect the board to the phone, connect to the service, and when checking characteristics all 3 that should be exposed are exposed; however, attempting to subscribe to any fails. All the ANCS docs say on this is: So... how exactly do I authorize my Arduino to access these characteristics? Do I need to build an app to manipulate internal properties somehow? (There's a get-only variable in the CoreBluetooth docs that indicates this status, but no mention of how to set it - only that an authorization will set it to true.) I'm not receiving any authorization pop-up on my iPhone when this occurs, and it doesn't appear anyone else has had a similar problem - please advise!
Posted Last updated
.
Post not yet marked as solved
1 Replies
381 Views
hello everyone. I have a MacBook Air M1 and it works fine with HP34' via USB-C to DP1.4 cable HDR and 165hz. but my corporate MacBook Air M2 doesn't at all. need help
Posted
by karcevgo.
Last updated
.