kickingvegas / YmsCoreBluetooth

A block-based framework for building Bluetooth 4.0 Low Energy (aka Smart or LE) iOS and OS X applications using the CoreBluetooth API. Includes Deanna and DeannaMac, applications to communicate with a TI SensorTag for iOS and OS X respectively.
Other
525 stars 128 forks source link

Framework #83

Closed dhmspector closed 11 years ago

dhmspector commented 11 years ago

Hi Charles,

I've added a new branch, "framework," which adds a new Xcode project that builds YmsCoreBluetooth as a static framework which can just be dragged and dropped into user's projects. I also made some additions to the README.md file describing the framework and how to use it.

Seems to work pretty well in my projects - please take a look and let me know what you think!

best regards, Dave

kickingvegas commented 11 years ago

Dave -

Thanks for submitting the pull request. Upon long consideration, I respectfully decline your pull request to build a library for YmsCoreBluetooth for the reason that I think it will cause more maintenance problems in the long term than for the short term win of compartmentalizing code. My biggest concern is that a library when put out "in the wild" becomes difficult to manage when used across different applications and developers as the source for that library changes. I think it is far more straightforward to simply copy the source code and update the source code using a version number convention.

I've taken the convention of defining an API version in YMSCBCentralManager in the following #defines:

These values only get bumped when any change to any of the YMSCB-prefixed classes are made.

That said, nothing I've stated prevents you from using a workflow which builds a YmsCoreBluetooth library, which you've already have done and I would too if I wanted to embed this library into many different apps. But I think incorporating the build of a library in master would encourage people who aren't thoughtful about such matters to open themselves to the "DLL Hell" scenario due to lack of discipline. So I'd rather avoid it than invite it.