iOS: CocoaLumberjack: неявное объявление функции недопустимо в c99

Я пытаюсь реализовать CocoaLumberjack в своем приложении в качестве фреймворка, но у меня возникают некоторые проблемы. Вот моя реализация в моем AppDelegate.h:

#import "AppDelegate.h"
#import <CocoaLumberjack/CocoaLumberjack.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [DDLog addLogger:[DDASLLogger sharedInstance]];
    [DDLog addLogger:[DDTTYLogger sharedInstance]];
    DDFileLogger *fileLogger = [[DDFileLogger alloc] init];
    fileLogger.maximumFileSize = 1024 * 1024;
    fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling
    fileLogger.logFileManager.maximumNumberOfLogFiles = 7;
    [DDLog addLogger:fileLogger];
    DDLogWarn(@"blablabla");
    DDLogError(@"Broken sprocket detected!");
    DDLogVerbose(@"User selected file:%@ withSize:%u", @"temp/test/log.txt", 100000);
    return YES;
}

В приложении делегат не имеет проблем. Но в моем ViewController:

- (void)viewDidLoad {
    [super viewDidLoad];
     DDLogError(@"something when wrong!!!"); // <-- implicit declaration of function is invalid in c99
}

неявное объявление функции недопустимо в c99 Кто-нибудь из вас знает, что не так, или какие-либо способы обойти эту ошибку?

Я буду очень признателен за вашу помощь.


person user2924482    schedule 07.04.2017    source источник
comment
это означает, что компиляция не может найти определение для DDLogError. Вы включили заголовок какао-дровосека в свой файл viewcontroller.m?   -  person Byron    schedule 08.04.2017
comment
@Byron, я добавляю это в viewController #import ‹CocoaLumberjack/CocoaLumberjack.h›, и это устраняет ошибку C99, но теперь я получаю эту ошибку: использование необъявленного идентификатора ddloglevel   -  person user2924482    schedule 10.04.2017


Ответы (1)


Добавьте следующие строки:

#define LOG_LEVEL_DEF ddLogLevel
#import <CocoaLumberjack/CocoaLumberjack.h>

См. раздел Доступ и настройка платформы документа Начало работы.

person DDP    schedule 11.04.2017
comment
у меня почему-то не работает. Я исправил добавление этого: #import ‹CocoaLumberjack/CocoaLumberjack.h› #if DEBUG static const DDLogLevel ddLogLevel = DDLogLevelVerbose; #else static const DDLogLevel ddLogLevel = DDLogLevelWarning; #endif - person user2924482; 11.04.2017