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
1 Replies
516 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
by
Post not yet marked as solved
1 Replies
501 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
Post not yet marked as solved
1 Replies
389 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
Post not yet marked as solved
0 Replies
348 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
by
Post not yet marked as solved
2 Replies
733 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
Post not yet marked as solved
1 Replies
399 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
Post not yet marked as solved
0 Replies
445 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
Post not yet marked as solved
0 Replies
556 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
Post not yet marked as solved
0 Replies
511 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
Post not yet marked as solved
0 Replies
484 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
by
Post not yet marked as solved
1 Replies
503 Views
Hello All, I hope my first post here finds everybody doing well. I wish to develop a simple app. I have some coding experience using other technologies. This would be my first iOS and MacOS app. I am asking for advice regarding the choice of tools and or technology. Here is what I think potential advice givers need to know: Motivation is to keep evil coworkers from messing with my Mac when I step away from, (often), my desk In order to thwart their machinations, I have set my Mac to lock after a very short period of inactivity - this is often a pain as I am sitting at my desk when the Mac locks I wear a fairly new iWatch and am using an M2 Macbook Air I want an app that keeps my Mac from locking when I am nearby I want an agent that runs on my Mac that listens for pings from my iWatch I want an app for my iWatch that pings my Mac It would be nice to be able to set the radius of the "nearby zone" and ping rate A ping would interact with my agent so as to keep my Mac from locking If no ping, Mac locks per whatever time-out setting I have on my Mac I know, I know. I could just use some key combos. No need to point out the obvious way of dealing with the bozos, (we have fun), that I work with. Stymying them in this manner would enhance my happiness. I just want a bit of advice on the appropriate way of going about this. Hopefully, anything I learn might someday be applied to the development of other simple apps. Thanks for any thoughts offered! John Ullom
Posted
by
Post not yet marked as solved
0 Replies
294 Views
I have an issue where Directory service media read-only is disabled on macOS 11 and later. Media Management settings are below. file=mcxsetup.plist Operating procedure. (1) The login account is admin. (2) Place mcxsetup.plist in /Users/admin folder. (3) Execute the following in the terminal command. $ sudo dscl . -mcximport /Users/admin /Users/admin/mcxsetup.plist (4) Run the following command in the terminal and confirm that the value is set. $ dscl . -mcxexport /Users/admin (4) restart mac (5) login admin (6) Mount USB storage (7) Make sure the USB storage is set to Read Only. (8) admin logout (9) Login with account name=admin (10) USB storage becomes writable Question: (1) Have there been any specification changes since macOS 11? (2) Is it not possible to use it in local environment? (3) does anyone know a workaround? Configuration-Profile-Reference URL https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf
Posted
by
Post not yet marked as solved
0 Replies
470 Views
I am working on a Application which requires to identify list of bluetooth paired devices connected to Ipad. I have used scanforperipherals(withServices:nil) in CoreBluetooth framework but I see state is always disconnected even though device is connected to iPad. output : <CBPeripheral: 0x281d000, identifier = 31EADDCE-5DBC-E57F-84DB-1488C20460F9, name = AirPods Pro, mtu = 0, state = disconnected> Later used Retrieveconnectedperipherals method (https://developer.apple.com/documentation/corebluetooth/cbcentralmanager/1518924-retrieveconnectedperipherals ) and tried to fetch the Bluetooth connected devices list. But this method mandates to provide ServiceUUID list of the devices that needs to be fetched which doesn't help me as I need to fetch all devices list. I understand EAAccessoryManager framework gets the list of MFI devices but it mandates to provide protocol names of devices. let connectedDevices = EAAccessoryManager.shared().connectedAccessories as? [EAAccessory] Would like to know if there is any way to fetch the list/count of Bluetooth devices connected to iPad without providing UUIDs/Protocol names. Thanks in advance! Let me know if any other information is required.
Posted
by
Post not yet marked as solved
0 Replies
330 Views
I know that multiple monitors are not working because macOS does not support MST/Daisy Chaining over DisplayPort. Though I have a Linux Laptop which supports it and I want to use it from time to time. Now the issue is, whenever I connect a second monitor into the Dell, the monitor starts to flicker. So whenever the DP OUT port is connected with my Dell, it becomes unusable with the Mac M2. This seems somewhat related to this issue on latest Ventura. Did anyone try to connect the DP OUT port with their Dell & Mac? What is the behavior? My understanding is that the 2. monitor should be mirrored. But what is happening right now is that the 1. monitor is basically becoming unusable as soon as a 2. one is connected.
Posted
by
Post not yet marked as solved
1 Replies
653 Views
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.
Posted
by
Post not yet marked as solved
0 Replies
524 Views
Hello all, I am interested in trying to develop a short-medium range (>100 meters) tracking device for a hobby project in order to gain some literacy in mobile phone software, and have a few questions. I am new to working with anything iOS so please correct me in any mistakes I make in this query. Is RFID or Bluetooth better for tracking and implementation on iOS? How difficult is device implementation into iOS and apps such as find my iPhone? How would one go about it? If I wanted a tracking device to send notifications based on location/distance from another device, could I do that with Apples framework or would I have to create my own app? What programming language would be used in this sort of endeavor? Would C++ work or does iOS use different ones? Thanks in advance, any and all advice is greatly appreciated.
Posted
by
Post not yet marked as solved
3 Replies
742 Views
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?
Posted
by
Post not yet marked as solved
4 Replies
1.1k Views
Body: Hello, I am facing a challenging issue with my SwiftUI iOS application, which is designed to work on an iPad and connect to an external display. The app, called "EasyJoin," is intended to provide a single-touch interface for joining conference meetings. It pulls events from a calendar and provides a "Join" button to connect to the meeting. The Goal: Mirror the app on an external display in its native aspect ratio. Also mirror any other client applications launched from EasyJoin (such as Google Meet, Teams, WebEx, Zoom) to the external display in its native aspect ratio. The Issue: While I have been successful in displaying the app on the external display, the iPad screen goes black as soon as the external display is connected. I need both the iPad and the external display to show the app simultaneously, each in their native aspect ratios. What I've Tried: Created separate UIWindow objects for the internal and external displays. Used NotificationCenter to listen for UIScreen.didConnectNotification and UIScreen.didDisconnectNotification. Tried managing windows through both AppDelegate and SceneDelegate. Explicitly set windowLevel for both internal and external windows. Despite these efforts, the issue persists. The external display works as expected, but the iPad screen remains black. Here is a snippet of my SceneDelegate.swift: // ... (Code for setting up UIWindow and listening for screen connect/disconnect) @objc func screenDidConnect(notification: Notification) { // ... (Code for setting up external UIWindow) externalWindow?.isHidden = false } @objc func screenDidDisconnect(notification: Notification) { externalWindow?.isHidden = true externalWindow = nil } I would appreciate any guidance or suggestions to resolve this issue. Thank you! Feel free to copy and paste this into a new post on the Apple Developer Forums. Hopefully, you'll get some specialized assistance that can help resolve the issue.
Posted
by
Post not yet marked as solved
1 Replies
290 Views
IVANKI USC-C DisplayPort has stopped working for me after updating to Ventura Version 13.6 (22G120).
Posted
by