2 つのビューがあります。検出されたすべてのデバイスが表示される中央の TableView と、ユーザーが検出されたデバイスの 1 つに接続することを選択したときに読み込まれる detailView です。
次の時点まで機能します。
- デバイスの検出
- デバイスに接続
- サービス、特性を読み取り、それらを購読する
- char の値が正常に読み取られ、detailView に表示されています。
「戻る」ボタンを介してdetailViewから戻ると、コールバック関数
override func viewDidAppear(animated: Bool) {
if(!firstStart){
tableView.reloadData()
println("appeared!")
discoverDevices()
}
}
呼び出されますが、その後 EXC_BAD_ACCESS で終了します。私の DiscoverDevices() 関数は次のとおりです。
func discoverDevices() {
println("discovering devices......")
centralManager.scanForPeripheralsWithServices(nil, options: nil)
}
「centralManager.scanForPeripheralsWithServices(nil, options: nil)」にエラーがあるようですが、コールバック後のみです。最初からすべて問題ありません。どこかにデリゲートを設定する必要がありますか? 「EXC_BAD_ACCESS」エラーで何もわかりません。
centralManager を再初期化する必要がありますか? 再起動する必要がありますか?
事前に助けてくれてありがとう。
よろしく、 スティービル