2015-03-06 3 views
1

У меня есть фреймворк, который используется DYLIB, и хотя я обновил фреймворк XCode по-прежнему смотрит на более старую версию.XCode не будет использовать последнюю версию моей рамки

Я проверял, что структура, на которую ссылается XCode, является правильной и может использовать шестнадцатеричный редактор, чтобы увидеть, что строка версии внутри него верна (.32). Я сделал отдельное тестовое приложение (которое не использует DYLIB), и я могу использовать ту же структуру (в том же месте) без каких-либо проблем.

Я могу даже создать мой вопрос с DYLIB, а также увидеть, что он использует последние файлы заголовков. Однако во время выполнения я вижу, что использует устаревшую версию фреймворка (.31) из-за используемого ведения журнала. Я также могу заглянуть внутрь двоичного файла связанного DYLIB и увидеть эту старую строку.

Самое смешное, если я переименую двоичный код фреймворка, DYLIB будет по-прежнему строить (тестовая программа не сможет связать, что и ожидалось), поэтому используется где-то более старая версия.

Я пробовал обычную чистую «чистую папку сборки», а также удалял каталог производных данных (rm -rf ~/library/Developer/Xcode/DerivedData/*). Я также перезапустил XCode и мою машину и все еще получаю эту проблему.

Я также попытался удалить ссылку на библиотеку и повторно добавить ее, что тоже не помогло. Я верю, что каталог верен, посмотрев строку построения, используемую clang.

Я не могу понять, где heck XCode читает старую версию фреймворка.

ответ

1

Если вы проверили «пути поиска каркасов» под вашими целевыми настройками, вы видите какие-либо пути, которые вы не отметили? Ракурс поиска по ОС возвращает только одну возможную ссылку?

+0

Я понял проблему сразу после того, как я сделал сообщение, используя «opensnoop», чтобы увидеть, в какой директории он его вытащил. По какой-то причине в моем каталоге поиска была старая копия, в которой я не ожидал. Удаление этой проблемы устранило проблему. – Locksleyu

Смежные вопросы