2016-05-13 3 views
1

Позвольте мне сказать, что я новичок в программировании на iOS/Xcode, поэтому я не знаю даже, что именно спросить. Я пытаюсь добавить статическую библиотеку в приложение, и я получаю сбой. Пакет библиотеки имеет файл .h и файл .a. Я прошу некоторых предложений о том, как приступить к выяснению проблемы. Вот некоторые факты:Ошибка NSMutableData

  • Xcode 7.3 - Эль-Капитан OS
  • библиотека работает. У меня есть демо-приложение, которое работает без сбоев, используя ту же библиотеку, которую я пытаюсь использовать.
  • Я не нашел значимых различий, сравнивающих демонстрационное приложение с моим. Mine создается с нуля (single View - раскадровка), демонстрационное приложение использует xib-файлы, и я не знаю, как он был разработан. Некоторых файла идентичны (т.е. копируется непосредственно из демо-приложения)

  • авария, видимо, происходит в библиотеке, в одном из внутренних вызовов

  • авария включает класс NSMutableData. Это ошибка:

    + [NSMutableData dataFromHexString]: непризнанный селектор направлен класс 0x1a085fdb0

    *** Нагрузочного приложение из-за неперехваченное исключение 'NSInvalidArgumentException', причина: «+ [NSMutableData dataFromHexString]: непризнанный селектор послал к классу 0x1a085fdb0'

    • в коде приложений (оба из них тот, который работает, и тот, который не работает) нет прямого направления к классу NSMutableData. Самый близкий класс, определенный в приложении, - это NSMutableArray, и для того, что я вижу, он определен и используется одинаково в обоих приложениях.

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

Спасибо за любую помощь Стив

+1

Нет такого метода, как 'dataFromHexString:' для 'NSMutableData'. Возможно, какая-то библиотека добавила его как метод категории. – rmaddy

+0

Правильно, я заметил, что этого метода нет, но в рабочем приложении я не нашел никакого метода, добавленного в этот класс. В моем приложении я включаю точные файлы рабочего приложения. Возможно ли использовать какую-либо конфигурацию приложения (info.plist или другое)? – thefwguy

ответ

0

Нашли проблему. Я преследовал призраков, в конфигурации отсутствовал два флага компиляции. Метод dataFromHexString объявляется внутри статической библиотеки, и, конечно, об этом нет никакой документации. Мне пришлось добавить два флага для компиляции кода: -ObjC и -all_load Мое угадывание (я еще не очень хорошо себя чувствую в среде) заключается в том, что с этим флагом код способен распознавать новый метод.