External Accessory - Getting Error 306 failed on Writing Data after 1 hour

Hi,


Please reply if any one knows about the error codes of External Accessory or Why this type of error occurs :-


I am sending data to External Accessory using OutPutStream write:maxLength api. After 1 hour of sending the data, I am getting some weird type of error.

Please look into the error below:-


ERROR - /BuildRoot/Library/Caches/com.apple.xbs/Sources/ExternalAccessory/ExternalAccessory-383.30.1/EAOutputStream.m:-[EAOutputStream write:maxLength:] - 306 failed to write 732 bytes (wrote -1) with error 32


iOS version : 11.3 Beta 2


Thanks,

Abhishek

Abhishek did you find any solution for that, i am also facing same issue after sending data for sometime and then suddenly this error came. After that i am always getting same error.
This is a bug report issue for the External Accessory engineering team to investigate. Here's the instructions to collect a sysdiagnose archive and to submit the bug report.

For all bug reports involving External Accessories please capture a sysdiagnose trace to include with the bug report.

First, here are the instructions to capture the sysdiagnose archive - You must use a device with iOS 12.x or newer installed.  please log into the Apple Developer Bug Report Profiles and log web page - <https://developer.apple.com/bug-reporting/profiles-and-logs/>
If you do this on the test device using the Safari browser, you can install the profiles directly from the web site.

Install the following profiles
  1. “iAP for iOS” profile 

  2. Bluetooth for iOS profile, (install only if the accessory is a Bluetooth accessory)

Please review the instructions for triggering the sysdiagnose archive and how to use iTunes to download the archive file by syncing with the device.
<https://download.developer.apple.com/iOS/iOS_Logs/sysdiagnose_Logging_Instructions.pdf>

After the desired profiles are (downloaded) go to the Settings App -> Profile Downloaded. Click the downloaded profile(s) and then Install the profile(s)

Make sure you are familiar with triggering the sysdiagnose log, then perform the steps to replicate the problem. When the failure occurs, trigger the sysdiagnose. Trigger the sysdiagnose as soon a the problem has occurred - even if you cannot access the archive until later.

IMPORTANT - Please note that if you are working with an iPad, there is no haptic feedback to indicate that the sysdiagnose capture has been made. A screenshot may be captured, but you won't know that the sysdiagnose archive has been captured until you check the Settings app.

Log Locations
iOS:

Go to: Settings.app > Privacy > Analytics > Analytics Data > 

Locate the sysdiagnose file and AirDrop it to your Mac. Scroll down, if necessary, to the point where you see the sysdiagnose with today's date, tap on that file and then tap the box with an arrow in it at the top right. Then choose the Mac device to send it to from the list of devices that appear in the AirDrop area. Once the transfer is complete (this may take several minutes), the file will be located in the /Users/[Your Username]/Downloads folder. The name will be similar to this: “sysdiagnoseYYYY.MM.DDHH-MM-SS-XX..."

If you use iTunes to sync the device with your system - look for the archive ->
macOS:
~/Library/Logs/CrashReporter/MobileDevice/[YourDeviceName]/DiagnosticLogs/sysdiagnose
Note: “~/Library/...” actually translates to: /Users/[Your User Name]/Library/...
The “/Users/[Your User Name]/Library/...” folder is hidden by default in macOS. To expose the folder, hold the option key while clicking the Finder’s Go menu and the Library folder will appear in the menu. Any time you see a placeholder like “[Your Device Name]” or, “[Your User Name]” you should replace that part of the path with your actual device’s name, or your computer user name.

To submit a bug report, please use the Apple Developer Feedback web page -

<https://feedbackassistant.apple.com/>.

Enter the “Feedback Assistant” page and login
Click on the Compose icon to start a new bug report

Start by clicking on the button - “iOS and iPodOS”.
  1. In the “Descriptive Title” field, enter an appropriate title

  2. In the “Problem Area” field select “External Accessory Framework”

  3. In the “Type of Feedback” select an appropriate issue description

  4. In the “Describe the Issue” section enter the following

    • the MFI Product Plan ID for the accessory you are working with

    • application ID

    • the approximate time of the issue

  5. Drop the sysdiagnose archive onto the “Drop Files to upload”.

rich kubota - rkubota@apple.com
developer technical support CoreOS/Hardware/MFI
I also have this problem. Didi you have solved this problem?

This looks to still be a problem. Has anyone had any success with a solution?

External Accessory - Getting Error 306 failed on Writing Data after 1 hour
 
 
Q