2014-01-29 1 views
2

Это происходит только на одной машине - сервере Mac mini build. Он имеет ту же ошибку для armv7s. Он работает с несколькими агентами сборки Ubuntu и с моей локальной машиной (Macbook Pro). Эти серверы все имеют одинаковый:ld: символ (ы) не найден для архитектуры armv7 при использовании CocoaPods

  • XCode версия (5,0)
  • Podfile/Podfile блокировки
  • Pod кэш (выяснены его на каждой машине)
  • Maven версия (3.1.1)
  • версия Cocoapods (0.29.0)

стручок в использовании является TTTAttributedLabel:

[INFO] Undefined symbols for architecture armv7s: 
[INFO] "_kCTUnderlineStyleAttributeName", referenced from: 
[INFO]  -[TTTAttributedLabel commonInit] in libPods.a(TTTAttributedLabel.o) 

Но TTTAttributedLabel не используется в качестве стручка, его источник был вставлен непосредственно в другой частный блок, который был добавлен в этот проект. Я не знаю, почему, поскольку я не развивал его, и разработчик, который сделал это, недоступен. Источник TTTAttributedLabel был настроен каким-то образом, поэтому я не чувствую себя комфортно меняя его, поскольку это производственная сборка.

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

Частный стручок устанавливается правильно. Файлы TTTAttributedLabel включены в источники компиляции private pod. Возможно, libPods.a правильно привязан к XCode. И основной проект, и действительная архитектура pod одинаковы (armv7 и armv7s).

Я пробовал практически каждый ответ, который я мог найти в Интернете в течение последних 6 часов.

Почему этот сервер не находит эти символы? Почему он работает везде, но здесь?

ответ

-1

этого вопроса была версия cocoapods версии 0.23.0 (или что-то ниже 0.29.0). Несмотря на то, что сервер сборки имел 0.29.0, сборка фактически выполнялась внутри подэлемента Rails с помощью команды Ruby's system(). Это означало, что он также использовал пакет Rails, в котором были только cocoapods 0.23.0.

+0

Итак, что вы сделали, чтобы исправить это? – Inn0vative1

3

Я уже это другой день, я должен был очистить кэш, а затем переустановить стручки, выполнив следующие действия:

rm -rf "${HOME}/Library/Caches/CocoaPods" 
rm -rf "`pwd`/Pods/" 
pod update 

Затем очистите рабочую область с помощью Ctrl + Shift + K

+0

Я попытался выполнить первую команду, но не вторую с 'pwd'. Я попробую это завтра, спасибо. –

+0

добро пожаловать, рад помочь :) – virindh

+0

Все еще не сработало! Gah –