Можно ли использовать библиотеку Libsndfile на iPhone iOS? - PullRequest
7 голосов
/ 09 февраля 2011

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

Спасибо!

Ответы [ 2 ]

12 голосов
/ 09 февраля 2011

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

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

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

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

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

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

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

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

0 голосов
/ 22 октября 2013

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

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

...