2015-07-09 2 views
1

NSD предостерегает, какие туннели через CF_Deprecated в доступности атрибута clang обрабатывают только устаревание для MACOSX и IOS.NS_Deprecated эквивалент для сторонних фреймворков

Есть ли какие-либо вызовы или серии макросов, которые реплицируют этот инструмент для третьих лиц.

Я работаю над V2 SDK, и есть определенные вызовы, которые мы хотим обесценить, а также EOL.

(Пожалуйста, обратите внимание, что этот SDK еще в Objective-C, так что Swift только решения не решить мою проблему)

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

Любые указатели или ссылки на это, прежде чем я должен решить, нужно ли мне убивать время на этом проекте?

+0

Возможно это? http://stackoverflow.com/questions/25405133/how-to-manually-deprecate-members –

+0

, который выглядит как только для Swift, SDK все еще находится в Objective C –

+0

Я отредактировал сообщение, чтобы указать, что мне нужно Obj-C solution) –

ответ

2

Вы можете #define макрос в своем проекте SDK, чтобы сделать сокращенное письмо для сообщения об устаревании. Мы сделали что-то подобное в Core Plot project.

1

Существует атрибут функции deprecated, предоставляемый компилятором GNU. Синтаксис для обозначения устаревших функций является:

void Foo() __attribute__((deprecated("message", "replacement")));

Первого сообщение для отображения при испускании предупреждения; второй позволяет компилятору предоставить Fix-It для замены устаревшего имени новым именем.

Дополнительную информацию об использовании атрибутов функции можно найти в GCC Attribute Syntax documentation или Attributes in Clang documentation