0

我正在关注 Google 的使用 NearbyMessages API 的文档。我正在使用 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 异常来自哪里。有谁知道为什么在这段代码中会有一个 nil 值?

非常感谢!

4

1 回答 1

0

它可以在设备上运行吗?Nearby Messages 1.1.0 中有一个错误,当您使用 BLE 作为发现介质时,该错误会导致模拟器上出现零指针异常。

道歉!我们将在下一个版本中修复该错误。

于 2016-11-11T00:08:29.990 回答