Проблемы с попыткой добавить libz.1.2.3.dylib в мой проект ipad

Прежде всего, я сейчас на этом сайте, поэтому мне очень жаль, если я совершу какую-то ошибку при публикации этого вопроса. Я пытаюсь использовать класс zipArchive для управления zip-файлами в проекте ipad.

Какие шаги воспроизведут проблему?

  1. Создайте проект.

  2. Добавьте папку ZipArchive со своими файлами.

  3. Добавьте libz.1.2.3.dylib

Каков ожидаемый результат? Что ты видишь вместо этого?

У меня весь код (о ziparchive) прокомментирован, поэтому у меня есть только #import #import "ZipArchive/ZipArchive.h" в моем контроллере просмотра, и я ожидаю, что проект будет построен без ошибок.

Я вижу следующую ошибку в компиляторе:

ld: предупреждение: игнорируется файл /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2/Symbols/usr/lib/libSystem.dylib, отсутствует требуемая архитектура i386 в файле ld: в /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2 /Symbols/usr/lib/libobjc.A.dylib, отсутствует необходимая архитектура i386 в файле для архитектуры i386 collect2: ld вернул 1 статус выхода Команда /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2 ошибка с кодом выхода 1

Какую версию продукта вы используете? На какой операционной системе? Я использую проект xcode 4 для ipad с симулятором ipad 4.2 на Mac OS X версии 10.6.7.

Пожалуйста, укажите дополнительную информацию здесь. Я думаю, что проблема связана с библиотекой libz.1.2.3.dylib, и у меня есть гость, где может быть проблема:

  1. Ошибка пути libz.1.2.3.dylib есть на iPhoneSimulator.platform, она действительна и для ipad?? Если нет, то какую библиотеку я могу использовать для той же цели с iPad??

  2. Я не уверен, что правильно добавляю библиотеку libz.1.2.3.dylib. Я сделал следующее: щелкните правой кнопкой мыши папку «Ресурсы» -> добавьте файлы в «мой проект» -> найдите libz.1.2.3.dylib и добавьте ее версию 4.2 из пути, который вы могли видеть в ошибках компилятора. Я также пытаюсь добавить в папку frameworks с теми же результатами.

Я читал много сообщений о том, как решить подобные проблемы, но никто не мог мне помочь.

Любая идея о том, что я должен сделать, чтобы решить мою проблему ??

Большое спасибо!!


person yandrako    schedule 14.04.2011    source источник


Ответы (3)


Вам нужно сделать это:

  1. Удалите libz.1.2.3 из локальной папки Frameworks. Вам это не нужно.
  2. Выберите свой проект в верхней части Навигатора проектов.
  3. Выберите цель вашего приложения.
  4. Откройте «Связать двоичный файл с библиотеками».
  5. Нажмите «+»
  6. Найдите «libz».
  7. Выберите «libz.dylib».

Если вы используете Xcode 4.5.2, приведенные ниже снимки экрана могут помочь вам выполнить шаги с 2 по 5. Я не уверен, что другие версии Xcode такие же или нет.

скриншот xcode

person Community    schedule 30.07.2011

Если вы используете xcode 4 или более позднюю версию, то кажется, что libz.1.2.3.dylib не включен в iOS5 sdk. Вот простой способ исправить это:

  1. Откройте свой проект в XCode 4.2.

  2. Удалить libz.1.2.3.dylib из фреймворка

  3. Добавить новый фреймворк libz.1.2.5

  4. Запустите ваше приложение

Это работает нормально.

person chandan    schedule 10.11.2012

libz.dylib — это псевдоним последней версии (в настоящее время libz.1.2.5), поэтому вы также можете перейти к местоположению файла в Терминале и создать символическую ссылку с именем «libz.1.2.3.dylib».

cd /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/

sudo ln -s libz.1.2.5.dylib libz.1.2.3.dylib

Вы также можете сделать ссылку на libz.dylib, которая, как я ожидаю, всегда будет указывать на актуальную последнюю версию, поэтому Tricon рекомендует изменить проект, просто включив в него libz.dylib. Я не уверен, что удалил бы что-нибудь, хотя это не сильно отличается от добавления новой символической ссылки... вы все еще копаетесь глубоко внутри Xcode....

person Code Roadie    schedule 20.10.2011