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

84 Posts
Sort by:
Post not yet marked as solved
4 Replies
1.1k Views
Good morning, So let me explain what I’m needing. We have a IoT device, that we have no way of changing. This device has the ability to be put into a broadcast mode which turns the device into a Wifi Router that we connect to. Once we are connected to the device, we then have the ability to set that device up to connect to a customers WiFi network. What I’m wanting to do is this: 1: User will physically put the device in broadcast mode 2: Mobile app will then scan all available local wifi’s looking for a SSID that matches the a MAC Address 3: The mobile app will then need to connect the device to the consumer's WiFi. #2 is where the problem lies. I need to get a list of wifi networks local to the mobile device so I can pick out the MAC address that I need to connect to. Any examples of this working would be awesome. The application I'm writing is written in Xamarin but even if you were to provide swift examples, I should be able to convert it. Thanks,
Posted
by
Post not yet marked as solved
0 Replies
601 Views
A: iPhone SE 2nd (iOS 16.5) Used bluetooth model: Shokz OpenRun S803 B: Any mobile device A uses bluetooth microphone/speaker, and make a call to B using iPhone app. Mute the A's headphone. (The bluetooth device support mute by hardware). While A mutes, B speaks. Unmute A's headphone. Every time B speaks, B can hear the echo. Since there is no audio data during the hardware muted, VPIO don't recognize audio reference data to remove echo signal. Is there any alternative to resolve this echo in VoIP software using VPIO?
Posted
by
Post not yet marked as solved
0 Replies
248 Views
I have a USB flash drive with MFi certification, and this USB flash has a Lightning interface that can be directly connected to the iPhone. I want to create an app to access the files on the USB drive. I know that I need to use the ExternalAccessory framework, and I need to add UISupportedExternalProtocol to the info.plist. I already know that the value of UISupportedExternalProtocol for this USB flash is "com.isparemobile.protocol", and I have added it to the info.plist. However, I still can't access the files on the USB flash. Can you tell me what I need to do to allow the app to access the files on the USB flash?
Posted
by
Post not yet marked as solved
0 Replies
406 Views
I am reaching out to inquire about the supported protocols for the Lightning to USB Camera Adapter. I'm creating an app that will access an external device connected to an iPhone through a Lightning to USB Camera Adapter. According to the External Acessory framework documentation, I need to declare protocol strings for the external accessories in Info.plist. Could you please provide me with detailed information regarding the protocols supported by the Lightning to USB Camera Adapter? Specifically, I would like to know the protocols that enable data transfer and interaction with connected devices.
Posted
by
Post not yet marked as solved
1 Replies
643 Views
I cannot scan on HP officeJet Pro 9020 after I installed Sonoma. Printing is working but HP start and HP easy scan does not Thanks, Zvika
Posted
by
Post not yet marked as solved
0 Replies
643 Views
Hi guys, After getting bounced around by Apple support, I was told to post here to get confirmation(?) about usage of a product we are interested in using. I'm hoping to get some insight on this. In a nutshell, we found some home brewed software that will allow us to flash an airtag like device with custom firmware. This device can then leverage Apple's BLE and send information(GPS) through icloud to a mac that we purchased(server resides there, we do not run/need Find My). We can then use that data internally to assist first responders. As this would be an internal project, there is no selling, no money changing hands for profit, etc. Any thoughts if this is something we can do legally? I don't want to deploy this and find out we shouldn't be doing this. To be honest, if push came to shove, and the pricing was reasonable, we would be open to paying Apple a fee if that was a factor. Any thoughts?
Posted
by
Post not yet marked as solved
0 Replies
575 Views
Hello. I would like to inquire about the possibility of using a USB connection between an iPhone and an Arduino board for flashing this board. From other posts, I understand that the only option for using USB serial is through the MFI program. Other options involve using peripheral WiFi or Bluetooth modules for the Arduino board, which require additional wire connections. Therefore, I want to ask if there have been any developments for direct usb serial connection to Arduino?
Posted
by
Post not yet marked as solved
0 Replies
399 Views
I am wondering if it's possible to obtain audio focus when the app is in the background without using the duckOthers option. I tested the Amazon Echo buds with the Alexa app and found that it can obtain audio focus. I am curious about how this is accomplished. I have a BLE device that can connect with my app. After connecting the device and my app, I put my app in the background and play a song from the Spotify app. Then, when I press a button on my BLE device, it sends a BLE command to my app to play music. However, my app cannot obtain audio focus, so the music cannot be played. The only way to make it work is to configure duckOthers. Compare with Echo buds, if we do the same steps, it can get audio focus. Is it because it has the MFI? do { let options: AVAudioSession.CategoryOptions = [.allowBluetoothA2DP, .defaultToSpeaker, .duckOthers] try audioSession.setCategory(.playAndRecord, mode: .spokenAudio, options: options) DDLogDebug("\(LOG_TAG) \(#function) setting category: \(audioSession.category.rawValue), " + "options: \(audioSession.categoryOptions.rawValue)") } catch { DDLogWarn("\(LOG_TAG) \(#function) Failed to configure audio session: \(error.localizedDescription)") } }
Posted
by
Post not yet marked as solved
0 Replies
460 Views
I am trying to turn an iOS device into a Bluetooth keyboard/joystick peripheral. I know iOS 16 supports the HID profile for communication with Bluetooth keyboards and game controllers (https://support.apple.com/en-us/HT204387). However, is it also possible for an iOS device to act as a HID device, advertising services like the HID? I've seen an app, BlueTouch seems to make the similar functionality, and sample code on Github (https://gist.github.com/conath/c606d95d58bbcb50e9715864eeeecf07) suggest this might be possible. Has there been any change in iOS that would allow an iOS device to act as a Bluetooth HID device? Could you point me to the relevant documentation or sample code? Thanks for any guidance you can provide.
Posted
by
Post not yet marked as solved
0 Replies
854 Views
My company has a Bluetooth 4.2 hardware product that requires a connection interval of 15ms to operate correctly. Starting with the release of iOS 16, we noticed these connection parameters are being rejected and we are provided a connection interval of 30ms which leads to severe packet loss. I'm aware of the note on page 193 of this document that specifies this may happen on some devices, but it had not been an issue up until the release of iOS 16. Does anyone know the precise circumstances that would lead to the scaling of this interval? Is there anything that can be done in software or firmware to get around the issue?
Posted
by
Post not yet marked as solved
0 Replies
266 Views
Dear Apple Experts, When I was trying to connect iPhone and my Carkit via Bluetooth A2DP service and play music, I found there was no sound sometimes. I checked the Bluetooth sniff log and found that Carkit initiated the AVDTP_Discovery procedure and sent AVDTP_Set_Configuration to AAC which also accepted by iPhone, but after AVDTP_START, iPhone set SBC instead of AAC audio data in A2DP media packet. During this period, iPhone also did AVDTP_Discovery but didn’t do AVDTP_Reconfigure to SBC. From the spec view, If iPhone wants to change the codec, it need to be OPEN state or suspend the streaming and then do AVDTP_Reconfigure procedure, but actually not happened. Could you help to check this, thanks a lot. BR
Posted
by
Post not yet marked as solved
1 Replies
384 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
Post not yet marked as solved
0 Replies
449 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
by
Post not yet marked as solved
2 Replies
626 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
by
Post not yet marked as solved
0 Replies
416 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
Post not yet marked as solved
0 Replies
345 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
Post not yet marked as solved
9 Replies
1.8k Views
i must make a code that ios app communicate with esp32 module over bluetooth classic . i have been searching for several weeks... but i didn't find out sample code for bluetooth classic. i found one code that use External Accessory Framework. but this needs a registration for that device some one says that i can't this. because ESP32 Module can't be registered . and i found another one it is coded by reactive native. but finally, this one use a MFi(Made For Iphone) that use External Accessory Framework. i guess.. is it impossilbe that making a ios app that communicate with other device over bluetooth classic ? so, now i am finding some apps that can communicate esp32 module that is coded by arduino IDE over bluetooth classic, and this arduino app can communicate with android bluetooth classic terminal app. please help me
Posted
by