xcode4 "dyld: символ не найден: _OBJC_CLASS _ $ _ AVCaptureDevice" ошибка - PullRequest
6 голосов
/ 24 апреля 2011

мое приложение для iphone работает в симуляторе IOS 4.3, но не в любом другом симуляторе IOS 4.0+. Хотя он и побежит туда.

Я получил следующие ошибки -

GNU gdb 6.3.50-20050815 (версия Apple gdb-1518) (суббота, 12 февраля 02:52:12 UTC 2011) Copyright 2004 Free Software Foundation, Inc. GDB - это бесплатное программное обеспечение, на которое распространяется стандартная общественная лицензия GNU, и вы добро пожаловать изменить его и / или распространять его копии при определенных условиях. Введите «показать копирование», чтобы увидеть условия. На GDB нет абсолютно никаких гарантий. Тип "показать гарантию" для деталей. Эта GDB была настроена как "x86_64-apple-darwin". Присоединяется к процессу 71564. dyld: символ не найден: _OBJC_CLASS _ $ _ AVCaptureDevice Ссылка на: / Пользователи / qianfan / Библиотека / Поддержка приложений / iPhone Simulator / 4.2 / Приложения / XXXX-XXXX / XXXX.app / XXXX Ожидается в: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/System/Library/Frameworks/AVFoundation.framework/AVFoundation in / Пользователи / qianfan / Библиотека / Поддержка приложений / iPhone Simulator / 4.2 / Приложения / XXXX-XXXX / XXXX.app / XXXX sharedlibrary apply-load-rules все (ГБД)

Мое приложение использует (статически ссылающийся) последний код iphone ZXing (две версии, проверенные на 2011-03-31 2001-04-24).

Я считаю, что AVCaptureDevice существует во всех iOS 4.0 +, а zxing поддерживает ios 4.0 +. когда я делаю:

Macintosh: zxing-trunk XXX $ grep _OBJC_CLASS _ $ _ AVCaptureDevice /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/AVFoundation.frame Двоичный файл /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/AVFoundation.framework/AVFoundation matchs

Есть предложения? что я буду искать здесь? Большое вам спасибо.

Ответы [ 3 ]

8 голосов
/ 07 июня 2011

Я просто хочу упомянуть, что ответ mmilo (об изменении «Обязательный» на «Необязательный») решил проблему для меня. Просто нажмите на AVFoundation.framework (в папке Frameworks в представлении Project), а затем убедитесь, что открыто окно Right right view. Здесь вы можете переключить «Целевое членство» с Обязательного на Необязательное.

Моя конкретная проблема была такой же, как у Мелвина. Я не смог заставить свой проект скомпилироваться на симуляторе 4.2 при использовании 4.3 SDK, потому что не смог найти класс AVCaptureDevice.

3 голосов
/ 01 июля 2011

Фреймворк AVFoundation не работает в симуляторе.Только на устройствах.

0 голосов
/ 24 апреля 2011

Похоже, ваш проект не связан с AVFoundation .. может быть, вы ссылаетесь на уровне версии или что-то в этом роде?Это объясняет, почему он основан на одном, а не на других.

...