Можно ли использовать библиотеку 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