欢迎使用 Pebble 的官方 iOS SDK!
所有 Pebble SDK 示例均可在 GitHub 上找到。
您还可以运行 pod try PebbleKit
直接进入一个简单的项目。
PebbleKit.framework
复制到您的项目文件夹中某个位置。PebbleKit.framework
。CoreBluetooth.framework
。-ObjC
链接器标志添加到项目构建设置中。此外,由于 PebbleKit.framework
是针对设备和模拟器编译的,当您将应用程序上传到 Apple Music 图库时,可能会被拒绝。为了避免这种情况,您需要在提交之前从二进制文件中删除模拟器架构。您可以通过多种方式做到这一点,但我们将推荐使用 Carthage 以简化操作
在您的应用程序目标“构建阶段”设置选项卡中,单击“+”图标并选择“新建运行脚本阶段”。创建一个包含以下内容的运行脚本:
/usr/local/bin/carthage copy-frameworks
并将框架的路径添加到“输入文件”部分,例如
$(SRCROOT)/path/to/PebbleKit.framework
PebbleKit-Static 提供了对 iOS 7 的兼容性。我们建议您使用 PebbleKit,但如果您需要为较老的 iOS 版本提供应用程序版本,您仍然可以使用它。
您可以使用 Cocoapods 或手动使用 PebbleKit-Static。Carthage 仅支持动态框架,因此 PebbleKit-Static 不可用于 Carthage。
此外,在每个使用 #import <PebbleKit/PebbleKit.h>
的文档中,您应使用 #import <PebbleKit-Static/PebbleKit.h>
代替。
PebbleKit-Static.framework
复制到您的项目文件夹中某个位置。PebbleKit-Static.framework
。CoreBluetooth.framework
。-ObjC
链接器标志添加到项目构建设置中。Info.plist
和功能如果要在后台与 Pebble 进行通信,您需要向应用程序目标的 Info.plist
中添加后台模式
UIBackgroundModes
("必需的后台模式") 数组中bluetooth-peripheral
("应用程序通过 CoreBluetooth 共享数据")bluetooth-central
(应用通过CoreBluetooth通信)如果您使用后台模式,也需要在Xcode中更新您目标设备的Capabilities
。启用后台模式
并选择
如果您在Xcode 8或更高版本中编译,还需要额外添加以下Info.plist
键(并且建议在旧版本中也这样做)
NSBluetoothPeripheralUsageDescription
(“隐私 - 蓝牙外围设备使用描述”)您可以在线浏览最新的文档(点击右上角的图标可以安装离线文档集)。
或者,从该文件夹手动安装文档集
PebbleKit-ios.docset
内容复制到 ~/Library/Developer/Shared/Documentation/DocSets
帮助 > 文档和API参考
获取文档。为了让 Pebble 与 iPhone 兼容,Pebble 是 iPhone 配件计划的一部分(硬件配件与 iOS 应用交互的要求)。不幸的是,这也意味着如果您使用 PebbleKit 构建iOS应用,Pebble 需要将其iOS应用列入白名单,您才能将其上传到 App Store。如果您已经完成了一个 Pebble 应用,并希望了解如何在 App Store 上提供该应用,请访问白名单指南
PBSemanticVersion
。现在 PBFirmwareVersion
是 PBSemanticVersion
的子类型。PBRemoteProtocolCapabilitiesFlags
中新增了值 SendTextSupported
、NotificationsFilteringSupported
、UnreadCoredumpSupport
和 WeatherApp2
。PBPebbleKitLogging
类型,以便自定义 PebbleKit 所使用的日志回调和日志级别。PBWatch
的过时文档。改进了关于 -[PBWatch friendlyDescription]
的文档。PBDataLoggingService
头文件。使用现代类型名称并改进可空性注释。NSDictionary+Pebble.h
中添加了可空性注释。弃用了不带 pb_
前缀的旧方法,并添加了带 pb_
前缀的替代方法。NSNumber+stdint.h
中添加了可空性注释。弃用了不带 pb_
前缀的旧方法,并添加了带有 pb_
的替代方法。PBPebbleCentral
中用于设置默认日志级别的旧方法已被弃用,并改用 PBPebbleKitLogging
中的新方法。PBSportUpdate
辅助对象。PBWatch (Golf)
和 PBWatch (Sports)
添加了正确的可空性注释。appMessagesPushUpdate:withUUID:onSent:
的签名不再声明名为 __nullableerror
的不可为空的 NSError *
。-[PBFirmwareVersion compare:]
对于未来发布的固件报告了错误的结果。PBVersionInfoCompletionBlock
添加了正确的null性注解。PBFirmwareVersion
,包括 os
、major
和 minor
,以及便利初始化器 firmwareVersionWithOS:major:minor:suffix:commitHash:timestamp:
。请使用 majorVersion
、minorVersion
、revisionVersion
和 firmwareVersionWithMajor:minor:revision:suffix:commitHash:timestamp:
。-[PBPebbleCentral lastConnectedWatch]
正确标记为 nullable
。-[PBWatch isNew]
属性没有使用别名 new
来避免与C++保留关键字的问题。PebbleKit现在是一个动态框架。
如果您想支持iOS 7.x
,请将 pod 'PebbleKit-Static'
添加到您的 Podfile
中。
appMessagesRemoveUpdateHandler
不按预期工作。dataLoggingService.pollForData
- 请使用 pollForDataFromWatch:
代替。central.dataLoggingService
- 请使用 dataLoggingServiceForAppUUID:
代替。appUUID
属性都是 NSUUID
而不是 NSData
。[[PBPebbleCentral defaultCentral] run]
。bluetooth-peripheral
和 bluetooth-central
添加到您的 UIBackgroundModes
中。lastConnectedWatch.isConnected
- 只需在调用run方法后等待事件即可。PebbleVendor.framework
。如果您需要它,请保留它。否则将其删除以减小应用程序的大小。PBWatch+PhoneVersion
和 PBWatch+Polling
。PBWatch+Version
报告正确的版本。-[PBNumber description]
时崩溃。“HeaderName.h”
格式导入(而不是 <PebbleKit/HeaderName.h>
)。PebbleKit.podspec
通过最新的CocoaPodlinter。PBWatch+PhoneVersion
。PBWatch+Version
报告了错误的版本。-[PBNumber description]
时崩溃。