我正在关注使用NearbyMessages API的Google文档。我使用的是Swift3。我有以下代码来设置应用程序以发布到附近。
let messageManager = GNSMessageManager(apiKey: "someky")
var publication: GNSPublication?
let message = GNSMessage(content:"name".data(using: .utf8))
if let messageManager = messageManager, let message = message {
publication = messageManager.publication(with:message)
}
我在模拟器上运行了应用程序。然后应用程序崩溃在第5行(if-let块中的行)。这是堆栈跟踪的一部分:
(
0 CoreFoundation 0x000000011302334b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x000000011271e21e objc_exception_throw + 48
2 CoreFoundation 0x000000011308c265 +[NSException raise:format:] + 197
3 Foundation 0x0000000112229fdc -[NSConcreteMutableAttributedString initWithString:] + 129
4 ProjectLibs 0x000000011879b55a gns_localizedAllowAppToConnectAttributedString + 415
5 ProjectLibs 0x000000011879b8b9 gns_localizedAllowAppToConnectString + 75
6 ProjectLibs 0x000000011879ae9f gcp_verifyDealloc + 24324
)
由于messageManager和消息都受if-let块保护,我找不到来自nil异常的位置。有谁知道为什么在这段代码中会有一个零值?
非常感谢!
答案 0 :(得分:0)
它适用于设备吗?当使用BLE作为发现媒介时,Nearby Messages 1.1.0中存在一个错误,导致模拟器上出现nil指针异常。
道歉!我们将在下一个版本中修复该错误。