Releases: pebble/pebble-ios-sdk
Releases · pebble/pebble-ios-sdk
4.0.0
- Added: Support for Pebble 2.
- Added: New superclass
PBSemanticVersion
.PBFirmwareVersion
is now a subtype ofPBSemanticVersion
. - Added: New values
SendTextSupported
,NotificationsFilteringSupported
,UnreadCoredumpSupport
, andWeatherApp2
inPBRemoteProtocolCapabilitiesFlags
. - 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 withoutpb_
prefix and added alternative methods withpb_
prefixes instead. - Changed: Added nullability annotations to
NSNumber+stdint.h
. Deprecated old methods withoutpb_
prefix and added alternative methods withpb_
. - Changed: Deprecated method for setting the default log level in
PBPebbleCentral
in favor of the new methods inPBPebbleKitLogging
. - 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)
andPBWatch (Sports)
. - Fixed: Signature of
appMessagesPushUpdate:withUUID:onSent:
no longer declares a non-nullableNSError *
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
, andminor
, as well as the convenience initializerfirmwareVersionWithOS:major:minor:suffix:commitHash:timestamp:
has been deprecated. Use insteadmajorVersion
,minorVersion
,revisionVersion
andfirmwareVersionWithMajor: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
3.1.0
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
- usepollForDataFromWatch:
instead - Deprecated:
central.dataLoggingService
- usedataLoggingServiceForAppUUID:
instead
3.0.0
Major changes:
- Support for Pebble Time Round
- Support for 8K AppMessages
- Support for Swift
- Support for Bitcode
Breaking changes:
- All
appUUID
properties are nowNSUUID
instead ofNSData
- As soon as you set the
delegate
and theappUUID
you must callrun
the central before you'll get any connection events:
[[PBPebbleCentral defaultCentral] run]
Tips:
- Add
bluetooth-peripheral
andbluetooth-central
to yourUIBackgroundModes
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 invokedrun
- We removed PebbleVendor. Keep it if you need it. Drop it otherwise to reduce the size of your app.