Я следую «Руководству по доступу к устройствам Bluetooth» в библиотеке Mac Developer, в котором рассказывается о том, как реализовать сервер Mac RFCOMM. Часть руководства о том, как добавить определение службы в базу данных SDP, содержит листинг кода, в котором используется устаревшая функция:
// Now that we have an IOBluetoothSDPServiceRecord object,
// we no longer need the IOBluetoothSDPServiceRecordRef.
IOBluetoothObjectRelease( serviceRecordRef );
Погуглив эту функцию, я нашел несколько проектов с открытым исходным кодом, которые до сих пор используют эту функцию. Я также нашел некоторые журналы изменений, в которых говорилось, что эта функция была удалена, и я нашел некоторую документацию в заголовке, в которой говорится следующее:
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?