Skip to content

Commit

Permalink
Commit of version 0.9.5 - Please see changelog for more info.
Browse files Browse the repository at this point in the history
  • Loading branch information
AntonMeier committed Dec 21, 2015
1 parent dd72e60 commit 24ec41d
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 32 deletions.
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
#fliclib-ios 0.9.5

**Changes**

* Overall stabilify implovements.
* Bluetooth rework to improve connectivity.
* Flilib now has a check to see if Flic app exists before a button is grabbed. If it is not existitng then the user will be forwarded to the App Store. This requires that the developer adds "flic" as an item under LSApplicationQueriesSchemes.
* SCLFlicButtonMode has been changed. We now only have one foreground mode and one background mode. Please see documentation for more information about that.
* Bitcode support added.
* refreshPendingConnections: method added to SCLFlicManager. This method is important when using the background mode for Flic in order to keep the pending connections in a proper state. Please see documentation for more information about that.

#fliclib-ios 0.8.2

**Changes**
Expand Down
38 changes: 12 additions & 26 deletions fliclib.framework/Headers/SCLFlicButton.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,34 +41,23 @@ typedef NS_ENUM(NSInteger, SCLFlicButtonConnectionState) {
*
* @discussion Represents the different modes that a flic can be configured to operate in. It is very important that you choose a mode
* that fits your application the best. Always try to choose the mode that consumes the least amount of battery that works
* with your application. For more detailed information about these different modes see the general documentation available at
* our website.
* with your application.
*
*/
typedef NS_ENUM(NSInteger, SCLFlicButtonMode) {
/**
* With Active mode the flic will be in a constant connection to the iOS device whenever a connection has been established. It will always
* try to reconnect in case the connection is lost but the advertisement on flic will timeout after a short period of time. If this occurs
* then the flic has to be pressed manually in order to start the advertisement again. This timeout is added in order to preserve energy.
* If the connection however is canceled using the <code>disconnect</code> method then no pending connection will remain and the advertisement
* on flic will not start. It will have a maximum response time of 280ms whenever connected. This is the most energy conservative version of
* the different active modes.
* This mode will configure the Flic to run with lower latency that might be needed if you are planning on using Flic in a foreground
* application. If the application leaves tha foreground then the latency will again be set higher in order to preserve battery.
* In this mode you as a developer has the responsibillity to connect the Flic each time you want to use it, unlike in
* <i>SCLFlicButtonModeBackground</i>where the Lib will make sure to keep it connected.
*/
SCLFlicButtonModeActive = 0,
SCLFlicButtonModeForeground = 0,
/**
* This mode is very similar to Active mode with the difference that the connection will re-establish whenever flic is brought back within
* range of the iOS device after being away for a longer period of time. This will be the case on all scenarios except when the button has
* been manually disconnected using the <code>disconnect</code> method. This mode is particularily useful when you want to have a seamless
* persistent user experience with reasonably low latency. This mode will unfortunately consume more energy since it requires that flic
* advertises during longer periods of time. Keep this in mind when developing your app.
* This mode is prefered when you are developing an application that depends on Flic working in the background. The latency will be higher
* than in <i>SCLFlicButtonModeForeground</i> in order to preserve battery. The Lib will make sure that the Flic is connected whenever possible.
* Please also read more about the <code>refreshPendingConnections:</code> method on the manager to achieve the best possible connectivity.
*/
SCLFlicButtonModeActiveKeepAlive = 1,
/**
* The SuperActive mode will behave ecactly like the regular Active mode with the exception that it instead has a maximum response time of
* 45ms whenever connected. This is good for applications where response time is crucial. The downside is that it consumes more energy than
* any other mode so use with caution.
*/
SCLFlicButtonModeSuperActive = 2,
SCLFlicButtonModeBackground = 1,
};

/*!
Expand Down Expand Up @@ -351,10 +340,7 @@ typedef NS_ENUM(NSInteger, SCLFlicError) {
* @discussion This method is the method to call when you wish to switch between the different available modes for the flic.
* If the flic is not available, meaning that it is not connected to the iOS device, due to either being manually disconnected
* or being out of proximity, then the mode will not change instantly. The mode will instead change once the flic becomes
* available the next time and only then will the mode property be updated accordingly. However, if you change the mode
* while the flic is disconnected and not having a pending connection to it, then you need to actively call the
* <code>connect:</code> method in order for it to connect. This is unless you are using the <i>KeepAlive</i> mode,
* in which case a <code>connect</code> will be sent automatically.
* available the next time and only then will the mode property be updated accordingly.
*
* @param mode The mode that you wish to switch to.
*
Expand Down Expand Up @@ -505,7 +491,7 @@ typedef NS_ENUM(NSInteger, SCLFlicError) {
* @discussion The requested connection failed. Please note that depending on at what point in the connection process the connection
* failed you might also receive a regular flicButtonDidDisconnect: as well. If the connection fails and this callback is
* made then the flic will always cancel the pending connection, regardless of what mode the flic happens to be in.
* This means that if you get a <code>flicButton:didFailToConnectWithError:</code> event and the flic is in KeepAlive mode then you
* This means that if you get a <code>flicButton:didFailToConnectWithError:</code> event when the flic is in Background mode then you
* need to call the <code>connect:</code> yourself to activate the pending connection once again.
*
*/
Expand Down
13 changes: 12 additions & 1 deletion fliclib.framework/Headers/SCLFlicManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ typedef NS_ENUM(NSInteger, SCLFlicManagerBluetoothState) {
* of the SCLFlicButton instance.
*
*/
- (NSDictionary* _Nonnull) knownButtons;
- (NSDictionary<NSUUID *, SCLFlicButton *> * _Nonnull) knownButtons;

/*!
* @method forgetButton:
Expand Down Expand Up @@ -183,6 +183,17 @@ typedef NS_ENUM(NSInteger, SCLFlicManagerBluetoothState) {
*/
- (SCLFlicButton * _Nullable) generateButtonFromURL: (NSURL * _Nonnull) url error: (NSError * _Nullable * _Nullable) error;


/*!
* @method refreshPendingConnections:
*
* @discussion This method will go through all pending connections and refresh them. This is needed since we unfortunately can not rely on Apple
* to take care of that. This method should be called at regular intervals, such the once provided by significant location changes.
* Please note that this is ONLY needed if you are using SCLFlicModeBackground!
*
*/
- (void) refreshPendingConnections;

@end


Expand Down
Binary file modified fliclib.framework/Info.plist
Binary file not shown.
10 changes: 5 additions & 5 deletions fliclib.framework/_CodeSignature/CodeResources
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@
<dict>
<key>Headers/SCLFlicButton.h</key>
<data>
8pQwLgGZB7CmQLCDSHUWHSUMIWY=
LOOJi9l7l10uV+BU4oDvMhfLFgA=
</data>
<key>Headers/SCLFlicManager.h</key>
<data>
pEKoMdlj/BUgAt7DlXxIMcv/W6Q=
2R3oW00b/ytaYBGgYkFeiZcFuOA=
</data>
<key>Headers/fliclib.h</key>
<data>
lJgn4ow64Lb3JweGZffzUhsYVSA=
</data>
<key>Info.plist</key>
<data>
edql9TNBCNHfAELkP4LDPl0Tp5k=
CEcH5ZSzz8dTBGQV9Dt7nQzgNps=
</data>
<key>Modules/module.modulemap</key>
<data>
Expand All @@ -29,11 +29,11 @@
<dict>
<key>Headers/SCLFlicButton.h</key>
<data>
8pQwLgGZB7CmQLCDSHUWHSUMIWY=
LOOJi9l7l10uV+BU4oDvMhfLFgA=
</data>
<key>Headers/SCLFlicManager.h</key>
<data>
pEKoMdlj/BUgAt7DlXxIMcv/W6Q=
2R3oW00b/ytaYBGgYkFeiZcFuOA=
</data>
<key>Headers/fliclib.h</key>
<data>
Expand Down
Binary file modified fliclib.framework/fliclib
Binary file not shown.

0 comments on commit 24ec41d

Please sign in to comment.