BT streams malfunction

hello forum,


my app interacts with MFI-approved hardware and does it successfully already several years.

when iOS 9 comes, BT-communication gets unstable: sometimes it runs very good, but sometimes not. here some console log, catched in bad case:


Oct 20 21:08:56 iPhone MyApp[954] <Warning>: stream <EAInputStream: 0x15f8d5c0> not open. opening..

Oct 20 21:08:56 iPhone MyApp[954] <Warning>: stream <EAOutputStream: 0x15e38050> not open. opening..

Oct 20 21:08:56 iPhone MyApp[954] <Warning>: NSStreamEventOpenCompleted (<EAOutputStream: 0x15e38050>)

Oct 20 21:08:56 iPhone MyApp[954] <Warning>: NSStreamEventHasSpaceAvailable (<EAOutputStream: 0x15e38050>)

Oct 20 21:08:56 iPhone MyApp[954] <Warning>: MyAppProtocolWorker::sendSyncCommand:"c"

Oct 20 21:08:56 iPhone SpringBoard[48] <Warning>: [FBSystemService] Error launching com.myapp.streaming: NotFound (4)

Oct 20 21:08:56 iPhone SpringBoard[48] <Warning>: [FBSystemService] Error launching com.myapp.streaming: NotFound (4)

Oct 20 21:08:56 iPhone iapd[236] <Warning>: /BuildRoot/Library/Caches/com.apple.xbs/Sources/iapd/iapd-1746.1.3/iapd/IAP/link/SystemStatus.mm:___ZN3ISL12SystemStatus29LaunchApplicationToBackgroundEPKc_block_invoke-1571 error launching app com.myapp.streaming is Error Domain=FBSOpenApplicationErrorDomain Code=4 "(null)"

Oct 20 21:09:01 iPhone MyApp[954] <Warning>: MyAppProtocolWorker::sendSyncCommand:"c"

Oct 20 21:09:01 iPhone MyApp[954] <Warning>: NSStreamEventHasSpaceAvailable (<EAOutputStream: 0x15e38050>)

Oct 20 21:09:06 iPhone MyApp[954] <Warning>: MyAppProtocolWorker::sendSyncCommand:"c"

Oct 20 21:09:06 iPhone MyApp[954] <Warning>: NSStreamEventHasSpaceAvailable (<EAOutputStream: 0x15e38050>)

Oct 20 21:09:11 iPhone MyApp[954] <Warning>: MyAppProtocolWorker::sendSyncCommand:"c"

Oct 20 21:09:11 iPhone MyApp[954] <Warning>: NSStreamEventHasSpaceAvailable (<EAOutputStream: 0x15e38050>)

Oct 20 21:09:16 iPhone MyApp[954] <Warning>: MyAppProtocolWorker::sendSyncCommand:"c"

Oct 20 21:09:16 iPhone MyApp[954] <Warning>: NSStreamEventHasSpaceAvailable (<EAOutputStream: 0x15e38050>)


what there happen:

- open streams (when accessory connected);

- post a command (write to output stream);

- error??

- no reply (probably posting was not succeeded) and repost more and more;


the fact is i have both non-nil stream objects but no ability to interact with my hardware. untill iOS 9 there were no such problems.

sometimes this happen once at 10 attemps, but sometimes every time.

restart of my hardware sometimes helps. restart BT (in system/settings) sometimes helps as well.


any ideas?


thanks

interesting observation(s):


1. if accessory already connected, then starting application always gets good result;

2. if accessory not yet connected, then it's possible to wait a bit ( ~ 1 sec ) after notification EAAccessoryDidConnectNotification arrived and this small delay can solve the problem.


looks like something ( inside iOS ) goes wrong, when object EASession created at the same time, when EAAccessoryDidConnectNotification notification arrived.

BT streams malfunction
 
 
Q