Можно ли использовать библиотеку Libsndfile на iPhone iOS?

Можно ли использовать библиотеку Libsndfile C в операционной системе iPhone? Если так, нужно ли мне просто "включать" это, или это сложнее, чем это.

Спасибо!

2 ответа

Решение

Я главный сопровождающий libsndfile.

libsndfile может быть скомпилирован и успешно работает на Debian/Arm, а также на Android.

Я был бы удивлен, если бы никто не скомпилировал его для iOS, но есть проблемы с лицензированием. Как вы, без сомнения, знаете, libsndfile выпущен в соответствии с LGPL, который требует выполнения одного из следующих условий:

а) Библиотека используется в качестве динамически связанной библиотеки (DLL в Windows, общий объект в Linux, dynlib в OSX и т. д.).

b) Весь код, который статически связан с библиотекой LGPL, выпускается под лицензией, совместимой с LGPL.

c) Библиотека используется в качестве статической библиотеки, но все объектные файлы, необходимые для связи библиотеки с новой версией, должны быть доступны для всех получателей приложения.

Насколько я понимаю, iOS не поддерживает динамически связанные библиотеки (Android поддерживает), поэтому опция а) отсутствует. Это оставляет вас с вариантами б) и в).

Если вы решите воспользоваться опцией b) или c), вам все равно нужно скомпилировать библиотеку (и, возможно, дополнительные зависимости) для iOS, а затем связать библиотеку с вашим кодом.

Вы можете найти оболочку sndfile.framework libsndfile внутри этой зависимости tar.gz

http://files.sbooth.org/SFBAudioEngine-dependencies.tar.bz2

Другие вопросы по тегам