Comments (5)
Oops, sorry about that, I ran the command but it didn't finish. I pushed again and it should be ready now.
from rzbluetooth.
Nice, I haven't noticed that in my testing with a simulation app, and I never had a device that would change it's services.
By design, RZBluetooth doesn't hold on to any Service or Characteristic objects, so none of the state managed by RZBluetooth should need invalidation. It was my assumption that the backing peripheral.services
array and service.characteristics
arrays would be managed by Core Bluetooth, either by updating the object state, or by removing the modified object from the parent -- The API surface of CBPeripheral just doesn't seem to present another option. With this assumption, RZBluetooth will just re-discover the service or characteristics if removed. The Core Bluetooth documentation is pretty thin here, so if you find any information to the contrary, I'd be very interested!
The delegate is actually implemented, but commented out, so if you don't need to respond to the event and would like to get rid of the log message, I can just uncomment it and route the log the RZBLog. However I think it could be desirable to expose the event for a consumer to respond to if desired. Do you have any opinions on if or how you would like to consume it? Currently, RZPeripheral has a lifecycle (connectionEvent:error:
) and delegate (RZBPeripheralConnectionDelegate
), which could be expanded to add support for modifyServices:
. The change should be pretty trivial, as it's just percolating up some information, but the naming would be a bit off, and I'd want to tread carefully and avoid complicating the API if it's not required.
Thanks for the bug report. I can probably get a few hours on Monday to clean this up.
Brian
from rzbluetooth.
I realized (after writing the report) that RZBluetooth doesn't need to do anything in particular, as you said. I think I'm fine with just logging it to silence the warning. I don't need it for anything in my case at any rate. My apps are working fine without it; I just wanted to let you know about the warning.
from rzbluetooth.
I just pushed up 1.2
that has the fix you pushed up, a few others, and will route this delegate to the log. Thanks for the feedback!
from rzbluetooth.
Will you be merging 1.2
to master and updating the podspec?
from rzbluetooth.
Related Issues (20)
- Allow methods to be called with a timeout parameter instead of using global timeout HOT 1
- Reading from non-existent characteristic causes all reads to fail
- Can't figure out how to scan for peripherals supporting specific service
- Writing chunked data without response not working HOT 1
- support new API in iOS 13
- Create new release HOT 1
- clearNotifyBlock should not `setNotify: NO` if disconnected HOT 6
- RZBConnectCommand executeCommandWithContext:error: crashes with assert that peripheral != nil HOT 7
- Allow opting in for CBCentralManagerOptionShowPowerAlertKey HOT 1
- Add a way to cancel all pending commands for a peripheral HOT 1
- Carthage Support HOT 1
- RZBEnableMock() doesn't work in Swift HOT 6
- Mocking cannot be enabled and disabled on demand HOT 2
- Unit tests crash using Xcode 9.2/macOS 10.12.6 HOT 1
- Regression calling stopScan in RZBSimulatedTestCase context between 1.0.2 and 1.2.2 HOT 16
- Build warnings using CocoaPods HOT 6
- Support for simulated peripherals HOT 1
- Crash in -[RZBPeripheral clearNotifyBlocks] HOT 2
- Crash in -[RZBPeripheral cancelAllCommands] due to infinite loop HOT 4
- RZBPeripheral.cancelConnection cancels commands for all peripherals HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rzbluetooth.