Я только начал возиться с кокоаподами для управления зависимостями моих проектов iOS. В настоящее время я пытаюсь интегрировать модульные тесты с помощью GHIOSUnit. Я следовал всем их инструкциям и пробовал их пробные тесты, и все это работало как шарм.
Однако проблемы начинаются, когда я начинаю использовать свои настоящие файлы проекта для тестирования.
Я использую AFNetworking для связи клиент-сервер, и всякий раз, когда я обращаюсь к моему общему клиенту под названием «CRLClient», оболочке для AFHTTPClient, он выдает мне ошибки с неопределенными символами.
Undefined symbols for architecture armv7:
"_OBJC_METACLASS_$_AFHTTPClient", referenced from:
_OBJC_METACLASS_$_CRLClient in CRLClient.o
"_OBJC_CLASS_$_AFJSONRequestOperation", referenced from:
objc-class-ref in CRLClient.o
"_OBJC_CLASS_$_AFHTTPClient", referenced from:
_OBJC_CLASS_$_CRLClient in CRLClient.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Файл пода для управления зависимостями выглядит так
workspace 'Storyboards.xcworkspace'
platform :ios, '5.0'
pod 'AFNetworking', '1.1.0'
target :UnitTests, :exclusive => true do
pod 'GHUnitIOS', '0.5.6'
end
Фактическая цель проекта отлично строится и отлично работает с AFNetworking.
P.S. Мне также необходимо добавить все тестируемые файлы в цель UnitTest. Тогда что делает добавление «Целевой зависимости» на этапах сборки?
Вкратце,
- как разделить общие зависимости между разными целями?
- что на самом деле делает добавление целевых зависимостей, если мне все еще нужно добавлять каждый файл в новую цель?