我試圖在MacOS 11.4上使用IOBluetooth與Xcode 12.5.1來獲取連接到我的電腦的藍牙設備的串列。但是我遇到了這樣的錯誤。
[User Defaults] 無法讀取在 CFPrefsPlistSource<0x600000af6b80>(域名:com.apple.Bluetooth,用戶。 kCFPreferencesAnyUser, ByHost: Yes, Container: (null), 內容需要 重繪 。是):在應用程式的容器之外訪問偏好需要用戶偏好閱讀。 容器外訪問偏好需要用戶偏好讀取或檔案讀取資料的沙盒 訪問。
在做了一些谷歌搜索并啟用了App Sandboxing中的每一個權限,并在info.plist中添加了Privacy - Bluetooth Always Usage Description和Privacy - Bluetooth Peripheral Usage Description,我得到了同樣的結果。我似乎找不到導致該問題的原因。
這是我的代碼:
import Cocoa
import IOBluetooth
class ViewController。NSViewController {
let ioBluetoothDevice = IOBluetoothDevice()
override func viewDidLoad() {
super.viewDidLoad()
print(IOBluetoothDevice.pairedDevices() ? "No Paired Devices" ) // <- 回傳空陣列,盡管我有一個鍵盤和滑鼠連接。
}
}
uj5u.com熱心網友回復:
事實證明,我在錯誤的目標上為應用程式沙箱啟用了藍牙。(Thanks @El Tomato)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/320049.html
標籤:
上一篇:在C 建構式中處理默認情況
下一篇:遺傳自有相同成員的父母
