Разрешены ли приложения iOS 8 со встроенными динамическими библиотеками в App Store?

Означает ли то, что «iOS 8 теперь поддерживает динамические рамки», это разрешено для отправки в App Store?

Похоже, что ранее разработчики, которые могли использовать dylibs для собственных приложений, но использовать их в чем-то, представленном в App Store, могли бы вас отвергнуть. Это все еще так или это изменение в iOS 8 сделало это нормально?

Например, если бы я написал приложение с использованием OpenCV, теперь было бы возможно построить и отгрузить dylib OpenCV (при условии, что я создал OpenCV как dylib) вместо статической компоновки?

Мне интересно, поскольку у нас есть существующая основанная на Qt инфраструктура, которая сама имеет несколько общих библиотек, которые мы в настоящее время собираем для Linux, OS X, Windows и Android. Для iOS кажется, что нам нужно изменить это, чтобы создать единое приложение со всеми нашими компонентами и статически связанными Qt. Если приложения iOS и App Store начинают поддерживать (встроенные) динамические библиотеки, тогда наши сборки iOS могут содержать все компоненты как динамические библиотеки, как и на всех других платформах.

Связанные с:

5

Решение

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

2.7 Приложения, загружающие код любым способом или в любой форме, будут отклонены

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

Это не техническое ограничение, а юридическое. Он запрещен из-за соображений безопасности, поскольку динамическая библиотека может загружаться и выгружаться во время выполнения, вы можете загрузить дополнительный исполняемый код и загрузить его (например, плагин). Поэтому Apple строго контролирует динамическое связывание, что является проблемой безопасности для явно защищенных операционных систем, таких как ios.

Ведь вам нужна коммерческая лицензия для развертывания Qt в App Store. Вы можете купить лицензию Indie Mobile и пропустить испытания, создаваемые сторонними магазинами приложений. Это означает, что вы можете распространять свое приложение через любой сторонний магазин приложений, какой пожелаете.

1

Другие решения


По вопросам рекламы [email protected]