Устаревшие функции bluetooth в OSX

Я следую «Руководству по доступу к устройствам Bluetooth» в библиотеке Mac Developer, в котором рассказывается о том, как реализовать сервер Mac RFCOMM. Часть руководства о том, как добавить определение службы в базу данных SDP, содержит листинг кода, в котором используется устаревшая функция:

// Now that we have an IOBluetoothSDPServiceRecord object,
// we no longer need the IOBluetoothSDPServiceRecordRef.
IOBluetoothObjectRelease( serviceRecordRef );

Документация Apple

Погуглив эту функцию, я нашел несколько проектов с открытым исходным кодом, которые до сих пор используют эту функцию. Я также нашел некоторые журналы изменений, в которых говорилось, что эта функция была удалена, и я нашел некоторую документацию в заголовке, в которой говорится следующее:

The ref counting scheme allows the IOBluetoothObjectRefs to be freed 
when they are no longer used. When the ref count reaches zero, 
the target object will be freed.

***      DEPRECATED IN BLUETOOTH 2.2 (Mac OS X 10.6) ***      
You should transition your code to Objective-C equivalents. ***      
This API may be removed any time in the future.

Исходя из этого, мои вопросы:

  • Почему в документации Mac используется устаревшая функция?
  • Что такое эквивалент Objective-C?

person pqvst    schedule 31.03.2014    source источник


Ответы (1)


Судя по всему:

IOBluetoothAddServiceDict

функция также устарела (но все еще доступна). Вместо этого я должен использовать

+[IOBluetoothSDPServiceRecord publishedServiceRecordWithDictionary:]

который, похоже, не требует использования функции выпуска.

person pqvst    schedule 01.04.2014
comment
Просто столкнулся с тем же, есть ли шанс, что вы можете опубликовать свой обновленный код? - person Adam McCormick; 17.05.2015
comment
@AdamMcCormick Вот как выглядит мой код. gist.github.com/ui-philip/78897d6f304aa9411bcb. Имейте в виду, что вам также нужен файл BluetoothService.plist. - person pqvst; 18.05.2015
comment
Спасибо, это намного чище, чем официальная документация. Я также хотел бы увидеть ваш список, если вы готовы поделиться. - person Adam McCormick; 18.05.2015
comment
@pbergqvist у вас все еще есть суть, которую вы опубликовали? В настоящее время я пытаюсь научиться самостоятельно создавать службу Bluetooth, и мне не хватает официальных документов Apple. - person Scott; 25.01.2016
comment
@Scott Мое имя пользователя на github изменилось. Вместо этого попробуйте следующее: gist.github.com/pqvst/78897d6f304aa9411bcb - person pqvst; 25.01.2016