bluejay icon indicating copy to clipboard operation
bluejay copied to clipboard

A simple Swift framework for building reliable Bluetooth LE apps.

Results 64 bluejay issues
Sort by recently updated
recently updated
newest added

We should review the synchronized peripheral's API, document them, and explain the differences between those and the regular read/write/listen. A synchronized listen can be especially misleading, as it will block,...

I've never done this before, as doing so is border-lining a programmer error in some, but not all cases. But, I think there needs to be a predictable and consistent...

The result, `RunResult`, has 3 cases: success, cancelled, and failure. `case .cancelled` isn't actually used at all right now, but is required by Swift to handle to exhaust all possible...

Calling update too many times is often a sign of a piece of logic that needs cleaning up and optimization, but not calling update in some cases will just be...

For example, we could get three Phillips Hue bulbs and do a video screencast of writing a test app to have them rotate colors or something fun lik ethat.

While fully unit testing Bluejay will need to wait until we have mocking in #8, we should at least build some way to do automated smoke testing and sanity checking....

![Screenshot 2024-02-07 at 8 10 11 PM](https://github.com/steamclock/bluejay/assets/133774011/d9b59688-f671-41c2-8a56-18d2b3a8ebbc) let OP_CODE_REPORT_STORED_RECORDS: UInt8 = 0x99 var OPERATOR_SENDING_RECORD_1: UInt8 = 0x00 var OPERATOR_SENDING_RECORD_2: UInt8 = 0x19 let command: [UInt8] = [OP_CODE_REPORT_STORED_RECORDS, OPERATOR_SENDING_RECORD_1, OPERATOR_SENDING_RECORD_2] bluejay.write(to:...

### Fixes #: Updated SwiftLint to latest version 0.54.0. ### Summary of Problem: SwiftLint 0.54.0 updates its `IPHONEOS_DEPLOYMENT_TARGET` from 8.0 to 11.0. iOS 11.0 is now the minimum required version...

Summary: I tried to change the log level to e.g. `.warning`, but I always get the extensive logging. Steps to Reproduce: 1. I imported XCGLogger 2. in the AppDelegate, immediately...