App Store上是否允许使用嵌入式dylib的iOS 8应用程序?

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

以前的开发人员似乎能够将dylib用于内部应用程序,但在提交到App Store的内容中使用它们会让你被拒绝。 这仍然是这种情况还是iOS 8中的这个改变使这个好吗?

例如,如果我使用OpenCV编写应用程序,现在是否可以构建并运送OpenCV dylib(假设我将OpenCV构建为dylib)而不是静态链接?

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

有关:

  • “嵌入式dylib /框架仅在iOS 8或更高版本上运行”警告的后果
  • Apple是否允许iOS上的Qt作为动态库?
  • http://www.wenda.io/questions/333265/are-private-frameworks-supported-on-ios.html

似乎仍有限制,只允许在App Store上使用静态链接的ios应用程序。 您可以阅读App Store评论指南:

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

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

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

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

Interesting Posts