0

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 例外がどこから来ているのかわかりません。このコード ブロックに値が nil になる理由を知っている人はいますか?

どうもありがとうございました!

4

1 に答える 1

0

デバイスで動作しますか? Nearby Messages 1.1.0 には、検出メディアとして BLE を使用すると、シミュレーターで nil ポインター例外が発生するバグがあります。

申し訳ありません!次のリリースでバグを修正します。

于 2016-11-11T00:08:29.990 に答える