2014-01-13 6 views
0

У меня есть проект iOS, который имеет статическую библиотеку, а в библиотеке есть метод шифрования, и в методе он ссылается на много системного метода шифрования около AES encryption. Когда я построить статическую библиотеку с выпуском, она вернула правильные данные. Но когда я строю в режиме отладки, он возвращает нуль.Статическая библиотека отлично работает с debug, но не с выпуском

  • Что различия между этими двумя режимами?
  • Тот же самый исходный код может создавать различные бинарные файлы, работает по-другому?

Помогите, пожалуйста, заранее. Здесь я выбираю два режима.

enter image description here

+0

дубликаты http://stackoverflow.com/questions/3784583/xcode-debug-vs-release-build-when-debugging – codercat

ответ

0

Основным отличием является уровень оптимизации компилятора. Выберите цель проекта и посмотрите настройки сборки и сравните Debug to Release.

Одной из возможных причин аварии является то, что код имеет некоторые ошибки использования памяти, которые по совпадению не вызывают сбоев в оптимизации кода, но не оптимизируются. Или есть другая разница в конфигурации. См. Комментарий от @iDev.

Отправной точкой является исправление всех предупреждений как компилятора, так и анализатора. Изучите журнал сбоев, чтобы понять крушение. Если вам нужна помощь в этом, добавьте отчет о сбоях в свой вопрос.

+0

Теперь я выясняю различия между построением статической библиотеки с помощью debug и release. Но когда я получаю .m или .mm из статической библиотеки и поместить их в проект, а затем построить их. В результате, метод шифрования в .m возвращает nil.why тот же код, разные результаты? Означает ли это, что оптимизатор при создании статической библиотеки мне помогает? Как заставить метод шифрования отлично работать в проекте не только в статической библиотеке? –

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