Глядя на файл Crashlytics.h, я вижу, что он определен с использованием флагов компилятора:
#ifdef DEBUG
#define CLS_LOG(__FORMAT__, ...) CLSNSLog((@"%s line %d $ " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define CLS_LOG(__FORMAT__, ...) CLSLog((@"%s line %d $ " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#endif
Этот блок только что обертывает функции CLSNLog
и CLSLog
в зависимости от флага компилятора.
Итак, думая, что я просто пойду прямо к источнику, я попытался ссылаться на CLSLog напрямую из быстрого файла. Еще не повезло:
My-Bridging-header.h:
#import <Crashlytics/Crashlytics.h>
Log.swift:
import Foundation
import Fabric
import Crashlytics
func Log(message: String) {
NSLog("%@", message)
CLS_LOG("%@", message)
CLSLog("%@", message)
}
Последние две строки в функции Log вызывают ошибку, Use of unresolved identifier
. Отчеты Crashlytics crash работают очень хорошо, за исключением функции ведения журнала. Согласно этой, была реализована поддержка ведения журнала для Swift.
Что касается версий, я использую последнюю версию Fabric/Crashlytics (декабрьская версия на момент публикации).
(Интересно отметить, что я вижу/использую CLSLogv()
...)
Кто-нибудь знает правильный способ включить CLS_LOG
для использования в проекте Swift?