Ошибка компоновщика CocoaLumberJack XCTest при выполнении тестовых случаев

При использовании CocoaLumberJack с XCTest я получаю сообщение об ошибке, что он не может найти файл DDLog.h. Я пытался изменить его на <CocoaLumberjack/DDLog.h> безуспешно. Проект компилируется и работает нормально с LumberJack, работающим в симуляторе iOS, но когда я запускаю его для цели модульного тестирования, я получаю эту ошибку (см. Снимок экрана).

Вот мой -Prefix.pch

  #import <Availability.h>

  #ifndef __IPHONElibPods.a0
  #warning "This project uses features only available in iOS SDK 5.0 and later."
  #endif

  #ifdef __OBJC__
      #import <UIKit/UIKit.h>
      #import <Foundation/Foundation.h>
      #import <CoreData/CoreData.h>
      #import <CocoaLumberjack/DDLog.h>
      #import "Utilities.h"
  #endif


  #ifdef DEBUG
  static const int ddLogLevel = LOG_LEVEL_VERBOSE;
  #else
  static const int ddLogLevel = LOG_LEVEL_ERROR;
  #endif

Ошибка:

Ошибка

Я связал библиотеки с целью tests также, как показано ниже, с libPods.a.

Связанные библиотеки

Почему LumberJack не связывается должным образом при запуске TestCases? Есть ли что-то еще, что мне нужно добавить в TestTarget, чтобы он правильно связывался?


person DogEatDog    schedule 24.09.2014    source источник


Ответы (2)


Мне удалось решить проблему, удалив настройки файла -Prefix.pch и переформатировав файл podfile для использования целей. мне пришлось переместить

 #import "DDLog.h"

а также

#ifdef DEBUG
static const int ddLogLevel = LOG_LEVEL_VERBOSE;
#else
static const int ddLogLevel = LOG_LEVEL_ERROR;
#endif

в класс Utility.h.

podfile был перестроен, чтобы связать обе цели:

platform :ios, '7.0'

def common_pods
    pod 'CocoaLumberjack'
    pod 'HexColors'
end

target :MyApp do
    common_pods
end

target :MyAppTests do
    common_pods
end

Мне также пришлось удалить libPods.a из обеих целей, так как он больше не будет строиться. Вместо этого libPods-MyApp.a и libPods-MyAppTests.a построены с новой конфигурацией podfile.

person DogEatDog    schedule 24.09.2014

Вы должны включить Pods конфигурацию в вашем проекте → настройки проекта → информация → конфигурации:

https://stackoverflow.com/a/17850444/511878

person gklka    schedule 04.11.2014