Управляйте зависимостями многократных целей с Cocoapods

Я только что начал переделывать cocoapods, чтобы управлять зависимостями моих Проектов iOS. В настоящее время я пытаюсь объединить тесты единицы, используя GHIOSUnit. Я следовал всем их инструкциям и попробовал их типовые тесты, и все это работало как очарование.

Project Setup 1 enter image description here

Однако проблемы начинаются, когда я начинаю использовать свои фактические файлы проекта для тестирования.

Я использую AFNetworking для клиент-сервера comms и каждый раз, когда я получаю доступ к своему sharedClient под названием '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 также. Тогда, что выполняет в добавляющей 'Целевой Зависимости', строят фазы, делают?

enter image description here enter image description here

Короче говоря,

  1. , как разделить общие зависимости между различными целями?
  2. , что делает добавляющие целевые зависимости действительно, делает, если я все еще должен добавить каждый файл к новой цели?
7
nl ja de
Наличие подобной проблемы. Похож нам нужен способ НЕ импортировать классы, но добавить пути поиска для этого, чтобы работать …
добавлено автор Corey Floyd, источник
я решил проблему, связавшись с libPod.a файлом, произведенным стручками для главного проекта, в Испытательной Цели также... они смотрят точно то же самое. Возможно, не правильный способ сделать это. ОДНАКО я все еще должен добавить каждый файл к проверенному к Обеим целям.. = (
добавлено автор tGilani, источник

1 ответы

При помощи

target :UnitTests, :exclusive => true do
  pod 'GHUnitIOS', '0.5.6'
end

Вы говорите, что единственная библиотека, вы хотите быть связанными с UnitTests цель, GHUnit , главным образом, высказывание, что вы не делаете , хотят AFNetworking , чтобы быть связанным также. Проблема, похоже, что вы также импортируете ваш AFHTTPClient подкласс в UnitTests , где это не может найти компоненты AFNetworking, это пытается связаться с.

Чтобы зафиксировать это, необходимо быть в состоянии удалить исключительное требование

target :UnitTests do
  pod 'GHUnitIOS', '0.5.6'
end

With this you will link GHUnit only to your UnitTests target but will link AFNetworking to both. "The target will by default include the dependencies defined outside of the block, unless the :exclusive => true option is given." (from here)

18
добавлено
Спасенный мой день!Thank you!
добавлено автор Raphael Oliveira, источник
интересный.. возвратится с результатами
добавлено автор tGilani, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.

ntwrk
ntwrk
1 773 участник(ов)

Группа для сетевых инженеров Создатель группы: @HelloSadness Админы: @darwinggl @mxssl @Sk1f3r @blademd @gngbng

RU.SYSADMIN — Олды здесь?
RU.SYSADMIN — Олды здесь?
1 616 участник(ов)

Ламповая конференция сисадминов! Правила: http://telegra.ph/Pravila-ru-sysadmin-12-01 Список интересных групп и каналов: https://github.com/goq/telegram-list

Pro Telecom
Pro Telecom
884 участник(ов)

Добро пожаловать, связисты! Запрещена реклама чатов Cообщество для своих - https://www.facebook.com/groups/protelecom/ https://vk.com/telecomrf

pro.enterprise
pro.enterprise
346 участник(ов)

Темы обсуждения: Сервера, системы хранения данных, hardware, software, сети хранения данных, сетевое оборудование, облачные инфраструктуры и никакой политики.