я могу использовать динамическую библиотеку (общий объект) в моем приложении для iphone? - PullRequest
6 голосов
/ 25 августа 2011

Как известно всем, статические библиотеки могут хорошо работать в приложении Iphone, и ваше приложение может быть легко одобрено IOS App Store

К сожалению, две статические библиотеки, которые я использую сейчас, имеют некоторые Cфункции и переменные.

, поэтому я скомпилировал их в * .dylib (динамические библиотеки) и скопировал их в "Bundle Resources" в XCode.

dylib_handle = dlopen(dylib_path_in_resource_bundle, RTLD_LAZY);
func = dlsym(dylib_handle, "func");

// invoke func();

Это хорошо работает в симуляторе и Ipad(конечно, разные динамические библиотеки).

Я заметил, что кто-то сказал, что приложение Iphone не поддерживает какие-либо сторонние динамические библиотеки, и мое приложение будет отклонено.(см. здесь)

, но я внимательно прочитал «Руководство по рассмотрению в App Store», я не нашел ни одного предмета, отвечающего моему вопросу.

Я запутался сейчас!

Имеет ли iphoneприложение поддерживает динамические библиотеки?Разрешает ли это IOS AppStore?

Кто может дать мне официальный ответ.

Ответы [ 2 ]

6 голосов
/ 25 августа 2011

Как отмечает Бернардо Рамос в комментарии: «Начиная с iOS8 мы можем использовать динамические библиотеки».

Динамические библиотеки не разрешены в App Store.Код не может быть загружен во время выполнения.Ответ заключается в том, чтобы преобразовать их в статические библиотеки и скомпилировать их в приложение.

Из iPhoneOSTechOverview:

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

Считайте" must "как" must "

См. SO Ответ: Можно ли создать динамическую библиотеку для iOS?

1 голос
/ 25 августа 2011

Нет, динамические библиотеки не разрешены.

Но вы можете создавать статические библиотеки и даже "статические рамки" (то есть, как в случае с классическими структурами, это папка с расширением ".framework" исодержащий ваши заголовки, файлы ресурсов, если таковые имеются, и саму библиотеку, за исключением того, что ваша библиотека должна быть статической библиотекой).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...