Условно скомпилированная альтернатива NSLog в классе фреймворка для использования вне фреймворка - PullRequest
1 голос
/ 28 февраля 2011

У меня есть альтернатива NSLog, которая выводит класс, из которого она вызывается, а также номер строки и метод (селектор) с именем PLog в классе с именем PLogging.Это то же самое, что DLog, взятый из здесь , за исключением изменения имени.Преимущество DLog в том виде, в котором оно написано, состоит в том, что при компиляции в режиме Release, вызов журнала изменяется на комментарий, сводя на нет влияние на производительность, которое вы в противном случае подвергались бы.Я хочу иметь возможность использовать это и держать его в рамках, но иметь возможность вызывать его из проектов, к которым я добавляю структуру.Но при этом в журнальном режиме вызовы журнала скомпилированы в комментарии.Возможно ли это?

Ответы [ 2 ]

2 голосов
/ 28 февраля 2011

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

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

Я бы предпочел использовать для этого цели, проблема выглядит неудобной.

0 голосов
/ 06 марта 2011

Сторонние платформы не разрешены в App Store. Я предполагаю, что у вас есть статическая библиотека или исходные файлы, которые вы добавляете в свои приложения с перекрестной ссылкой на проект?

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

...