Nearby Interactions, wih camera assistance

I have an app that uses nearby with a custom accessory. works great on iPhone 11-13, starting with iPhone 14, one must use ARkit to get angles we have two problems

  1. ARkit is light sensitive, and we do not control the lighting where this app would run.. the 11-13 action works great even in the dark. (our users are blind, this is an accessibility app)

  2. ARkit wants to be foreground, but our uses cannot see it, and we have a voice oriented UI that provides navigation instructions..

IF ARkit is foreground, our app doesn't work.

with iPhone 15 ProMax, on IOS 18, I got an error, access denied. (not permission denied) now that I am on IOS 26.. bt scan doesn't happen also fails same way on iPhone 17 on IOS26, can't callback now as release signing is no longer done

this same code works ok on iOS 17.1 on iPhone 12. Info.plist here

        if(SearchedServices == [] ){
            services = [TransferService.serviceUUID,QorvoNIService.serviceUUID]
        }
        logger.info(
            "scannerready, starting scan for peripherals \(services) and devices \(IDs)")
        filteredIDs=IDs;
        scanning=true;
        centralManager.scanForPeripherals(withServices: services,
                                                options: [CBCentralManagerScanOptionAllowDuplicatesKey: true])

the calling code dataChannel.autoConnect=autoConnect; dataChannel.start(x,ids) // datachannel.start is above

    self.scanning = true;
    return "scanning started";

... log output services from js = and devices= 5FE04CBB services in implementation = bluetooth ready, starting scan for peripherals [] and devices ["5FE04CBB"] scannerready, starting scan for peripherals [6E400001-B5A3-F393-E0A9-E50E24DCCA9E, 2E938FD0-6A61-11ED-A1EB-0242AC120002] and devices ["5FE04CBB"] ⚡️ TO JS {"value":"scanning started"}

so the BluetoothManager.scan... was a hardware problem.

now I see

{"msg":"#Warning Error reading file", "file":"//private/var/Managed Preferences/mobile/com.apple.CoreMotion.plist", "error":"Error Domain=NSCocoaErrorDomain Code=257 "The file “com.apple.CoreMotion.plist” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=//private/var/Managed Preferences/mobile/com.apple.CoreMotion.plist, NSURL=file:////private/var/Managed%20Preferences/mobile/com.apple.CoreMotion.plist, NSUnderlyingError=0x14cc64ea0 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}"}

I have the motion privacy tag in the plist for the code doing request camera assistance in the connect handler for the nearby operation..

in setup accessory dump of capabilities direction = false device does not support direction measurement device DOES support camera assistance

here is the code

        logger.info("dump of capabilities direction = \(NISession.deviceCapabilities.supportsDirectionMeasurement)");
        if(!(NISession.deviceCapabilities.supportsDirectionMeasurement)){
            logger.info("device does not support direction measurement");
            if(NISession.deviceCapabilities.supportsCameraAssistance){
                logger.info("device DOES support camera assistance")
                accessory.configuration?.isCameraAssistanceEnabled = CMMotionManager().isDeviceMotionAvailable
Nearby Interactions, wih camera assistance
 
 
Q