Skip to content

Releases: pebble/pebble-ios-sdk

4.0.0

23 Nov 21:33
Compare
Choose a tag to compare
  • Added: Support for Pebble 2.
  • Added: New superclass PBSemanticVersion. PBFirmwareVersion is now a subtype of PBSemanticVersion.
  • Added: New values SendTextSupported, NotificationsFilteringSupported, UnreadCoredumpSupport, and WeatherApp2 in PBRemoteProtocolCapabilitiesFlags.
  • Added: PBPebbleKitLogging type to customize the logging callback used by PebbleKit and the log level.
  • Changed: Remove outdated documentation for PBWatch. Improved documentation about -[PBWatch friendlyDescription].
  • Changed: Clean up the PBDataLoggingService header. Use modern type names and improve nullability annotations.
  • Changed: Added nullability annotations to NSDictionary+Pebble.h. Deprecated old methods without pb_ prefix and added alternative methods with pb_ prefixes instead.
  • Changed: Added nullability annotations to NSNumber+stdint.h. Deprecated old methods without pb_ prefix and added alternative methods with pb_.
  • Changed: Deprecated method for setting the default log level in PBPebbleCentral in favor of the new methods in PBPebbleKitLogging.
  • Changed: Communication with the watches (both through Classic and through LE) will not longer happen in the main thread. The callbacks will still be invoked in the main thread, and many methods are still documented as needed to be called from the main thread. We might lift those restrictions in the future, but they are still in place.
  • Changed: Clean up the Sports API and document and improve PBSportUpdate helper object.
  • Fixed: PebbleKit-Static uses the right header paths for Cocoapods.
  • Fixed: PebbleKit-Static is stripped of its debugs symbols, which should avoid printing some warnings.
  • Fixed: Golf and Sports do not need to add their UUID manually before using their APIs.
  • Fixed: Added correct nullability annotations for PBWatch (Golf) and PBWatch (Sports).
  • Fixed: Signature of appMessagesPushUpdate:withUUID:onSent: no longer declares a non-nullable NSError * named __nullableerror.
  • Fixed: Race condition that was making the communication with watch impossible.
  • Fixed: -[PBFirmwareVersion compare:] was reporting the wrong results for firmwares released far in the future.
  • Fixed: Connecting through Bluetooth LE should be more reliable.
  • Fixed: Don’t try connecting with devices that are not Pebble.
  • Fixed: Don’t try connecting with Pebble devices that are connected to other mobile devices.
  • Fixed: Added correct nullability annotation for PBVersionInfoCompletionBlock.
  • Fixed: Avoid crash while reconnecting to Bluetooth LE devices.
  • Deprecated: PBFirmwareVersion os, major, and minor, as well as the convenience initializer firmwareVersionWithOS:major:minor:suffix:commitHash:timestamp: has been deprecated. Use instead majorVersion, minorVersion, revisionVersion and firmwareVersionWithMajor:minor:revision:suffix:commitHash:timestamp:.
  • Removed: Support for Bluetooth Classic communication. Only Bluetooth LE is available. All devices in 3.x or later should be able to use Bluetooth LE, including the original Pebble and Pebble Steel. This should make communication from several third party apps a lot better.

3.1.1

12 Dec 00:28
Compare
Choose a tag to compare
  • Restored compatibility with Objective-C++
  • Fixed wrong nullability annotation at lastConnectedWatch
  • Include full Bitcode in binary

3.1.0

09 Dec 01:17
Compare
Choose a tag to compare

PebbleKit is now a dynamic framework.

If you want to support iOS 7.x add pod 'PebbleKit-Static' to your Podfile.

  • Added: Added workaround for Pebble 2.x / iOS 9 issue causing messages from watch not to arrive
  • Added: DataLogging now works better in multi-app setups.
  • Changed: DataLogging service is now created lazily when you try to use the API the first time
  • Changed: DataLogging won't unannounce server when you have Background Modes set
  • Changed: Lowered DeploymentTarget to 7.0 again
  • Fixed: DataLogging poll wouldn't be triggered on app launch
  • Fixed: appMessagesRemoveUpdateHandler not working as intended
  • Deprecated: dataLoggingService.pollForData - use pollForDataFromWatch: instead
  • Deprecated: central.dataLoggingService - use dataLoggingServiceForAppUUID: instead

3.0.0

08 Oct 20:06
Compare
Choose a tag to compare

Major changes:

  • Support for Pebble Time Round
  • Support for 8K AppMessages
  • Support for Swift
  • Support for Bitcode

Breaking changes:

  • All appUUID properties are now NSUUID instead of NSData
  • As soon as you set the delegate and the appUUID you must call run the central before you'll get any connection events:
    [[PBPebbleCentral defaultCentral] run]

Tips:

  • Add bluetooth-peripheral and bluetooth-central to your UIBackgroundModes if your app should work while in the background
  • No need to check for lastConnectedWatch.isConnected at app launch anymore. Just wait for the event after you invoked run
  • We removed PebbleVendor. Keep it if you need it. Drop it otherwise to reduce the size of your app.

2.4

14 Oct 00:55
Compare
Choose a tag to compare
2.4

2.2.0

14 Oct 00:56
Compare
Choose a tag to compare
  • Removed: PBWatch+PhoneVersion
  • Fixed:PBWatch+Version reported the wrong version
  • Fixed: Crash when calling -[PBNumber description]

2.1.1

14 Oct 00:56
Compare
Choose a tag to compare
  • Changed: Improvements to data-logging to help troubleshoot issues