Skip to content

Commit

Permalink
Commit of version 1.1.0 - Please see CHANGELOG.md for further info.
Browse files Browse the repository at this point in the history
  • Loading branch information
AntonMeier committed Apr 6, 2020
1 parent fb9250a commit 0d11759
Show file tree
Hide file tree
Showing 20 changed files with 931 additions and 113 deletions.
16 changes: 15 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,25 @@

This file documents the changes between different build versions of the `flic2lib.framework`

## flic2lib-ios 1.1.0

### Significant Changes

* The framework is now distributed using the new XCFramework packaging format. This means that instead of a single `flic2lib.framework` file, you will need to use a `flic2lib.xcframework` bundle. This bundle is essentially a folder containing framework builds for all supported architectures. The main benefit of this is that the framework will from now on run in the iOS Simulator, by default, with no configuration needed.

This change switch was necessary due to the fact that Xcode 11.4 now throws a compiler error if any embedded framework is not build for Simulator. This would only generate a warning in previous versions. Thus the previously provided simulator files would no longer work without the use of cumbersome build scripts.

Xcode 11 is required in order to use XCFramework bundles.

### Minor Changes

* New property, `latencyMode`, added. This property can be set using the new `FLICLatencyMode` enums. The purpose of this is to allow you to reduce the click latency on events that occur while the Flic is connected. This may be useful if you are developing a foreground application, such as a game, where a lower latency is needed. However, keep in mind that this will affect expected battery life.

## flic2lib-ios 1.0.5

### Significant Changes

* Adjustments made to the framework in order to support API changes made in iOS 13.4. Older versions of the framework will still work on iOS 13.4, but we do recommend updating to this version. If you do not update the framework then there is a risk that the button connection will not be re-set properly if connection is lost during the Bluetooth LE encryption exchange/setup process.
* Adjustments made to the framework in order to support Core Bluetooth API changes indtroduced in iOS 13.4. Older versions of this framework will still work on iOS 13.4, but we do recommend updating. If you do not update the framework then there is a risk that the button connection will not be re-set properly if connection is lost during the Bluetooth LE encryption exchange/setup process. This is particularily important for applications that uses long-term execution in the background.

### Minor Changes

Expand Down
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,6 @@ Have a look at the repository Wiki for further information:

The API documentation of the flic2lib.framework.

* [Simulator Support](https://github.com/50ButtonsEach/flic2lib-ios/wiki/Simulator-Support)

If needed, follow this tutorial on how to run flic2lib in the iOS Simulator.

* [OS Version Compatibility](https://github.com/50ButtonsEach/flic2lib-ios/wiki/OS-Compatibility)

Deployment information.
Expand Down
Binary file removed flic2lib.framework/flic2lib
Binary file not shown.
41 changes: 41 additions & 0 deletions flic2lib.xcframework/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>LibraryIdentifier</key>
<string>ios-armv7_arm64</string>
<key>LibraryPath</key>
<string>flic2lib.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>armv7</string>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-i386_x86_64-simulator</string>
<key>LibraryPath</key>
<string>flic2lib.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>i386</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,16 @@ NS_ASSUME_NONNULL_BEGIN
*/
@property(nonatomic, readonly) BOOL isUnpaired;

/*!
* @property latencyMode
*
* @discussion Lets you switch between two different latency modes. For most use-cases it is recommend to keep the default FLICLatencyModeNormal.
* FLICLatencyModeLow should ideally only be used for foreground applications, such as games, where low latency is needed. Keep in mind that the
* energy consumption will be significantly higher in the low latency mode.
*
*/
@property(nonatomic, readwrite) FLICLatencyMode latencyMode;

/*!
* @method connect
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -293,4 +293,23 @@ typedef NS_ENUM(NSInteger, FLICButtonTriggerMode)
FLICButtonTriggerModeClick,
};

/*!
* @enum FLICButtonTriggerMode
*
* @discussion The different latency modes that you can configure the Flic button to use.
*
*/
typedef NS_ENUM(NSInteger, FLICLatencyMode)
{
/**
* This is the default mode of the button. It will give you a good compromise between click latency (less than 105 ms while connected) and current consumption.
*/
FLICLatencyModeNormal = 0,
/**
* Using this mode will give your button the lowest possible click latency (typicaly less than 30 ms while connected).
* This mode will significantly increase the current consumption.
*/
FLICLatencyModeLow,
};

#endif /* FLICEnums_h */
File renamed without changes.
File renamed without changes.
Binary file not shown.
File renamed without changes.
Binary file not shown.
Loading

0 comments on commit 0d11759

Please sign in to comment.