App Store 是否允许带有嵌入式 dylib 的 iOS 8 应用程序? [英] Are iOS 8 apps with embedded dylibs allowed on the App Store?

查看:25
本文介绍了App Store 是否允许带有嵌入式 dylib 的 iOS 8 应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

iOS 8 现在支持动态框架"是否意味着允许 App Store 提交?

Does "iOS 8 now supports dynamic frameworks" mean that this is allowed for App Store submissions?

似乎以前的开发人员能够将 dylib 用于内部应用程序,但在提交给 App Store 的某些内容中使用它们会让您被拒绝.情况仍然如此,还是 iOS 8 中的此更改可以解决此问题?

It seems that previously developers where able to use dylibs for in-house apps but using them in something submitted to the App Store would get you rejected. Is this still the case or has this change in iOS 8 made this ok?

例如,如果我使用 OpenCV 编写了一个应用程序,现在是否可以针对 OpenCV dylib 进行构建和发布(假设我将 OpenCV 构建为 dylib)而不是静态链接?

For example, if I wrote an application using OpenCV, would it now be possible to build against and ship an OpenCV dylib (assuming I built OpenCV as a dylib) rather than statically linking?

我很感兴趣,因为我们有一个现有的基于 Qt 的框架,它本身有几个我们目前为 Linux、OS X、Windows 和 Android 构建的共享库.对于 iOS,我们似乎需要更改此设置以构建一个包含所有组件和静态链接的 Qt 的单个应用程序.如果 iOS 应用程序和 App Store 开始支持(嵌入)动态库,那么我们的 iOS 版本可以提供所有组件作为动态库,就像我们在所有其他平台上所做的一样.

I'm interested as we have an existing Qt-based framework that itself has several shared libraries which we currently build for Linux, OS X, Windows and Android. For iOS it seems we'd need to change this to build a single app with all our components and Qt statically linked in. If iOS apps and the App Store are starting to support (embedded) dynamic libs, then our iOS builds could ship all the components as dynamic libraries as we do on all other platforms.

相关:

推荐答案

App store 上似乎还是有限制,只能静态链接的 ios 应用.您可以在 App Store 审核指南中阅读:

It seems that there is still the limit that only statically linked ios applications are allowed on App store. You can read in the App Store Review Guidelines :

2.7 以任何方式或形式下载代码的应用将被拒绝

2.7 Apps that download code in any way or form will be rejected

2.8 安装或启动其他可执行代码的应用程序将被拒绝

2.8 Apps that install or launch other executable code will be rejected

这不是技术限制,而是法律限制.由于安全原因,它被禁止,因为可以在运行时加载和卸载动态库,您可以下载其他可执行代码并加载它(如插件).所以苹果严格控制动态链接,这对于 ios 等看似安全的操作系统来说是一个安全问题.

That's not a technical limitation but a legal one. It's banned because of the security reasons since a dynamic library can be loaded and unloaded at runtime you could download additional executable code and load it (like a plug-in). So Apple strictly controls dynamic linking which is a security issue for apparently secure operating systems like ios.

毕竟您需要有商业许可证才能在 App Store 上部署 Qt.您可以购买 Indie Mobile 许可证并跳过第三方应用程序商店带来的挑战.这意味着您可以通过您希望的任何第三方应用商店分发您的应用.

After all you need to have a commercial license to deploy Qt on App store. You can buy Indie Mobile license and skip the challenges created by third party application stores. That means you can distribute your application via whatever third party application store you wish.

这篇关于App Store 是否允许带有嵌入式 dylib 的 iOS 8 应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆