App Store 是否允许 iOS 8 个带有嵌入式 dylib 的应用程序?

Are iOS 8 apps with embedded dylibs allowed on the App Store?

"iOS 8 now supports dynamic frameworks"是否意味着 App Store 提交允许这样做?

似乎以前的开发人员能够将 dylibs 用于内部应用程序,但在提交到 App Store 的应用程序中使用它们会让你被拒绝。现在仍然如此还是 iOS 8 中的此更改使它正常?

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

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

相关:

似乎仍然存在限制,只能允许静态链接的ios 应用程序进入App store。您可以阅读 App Store 审核指南:

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

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

这不是技术限制,而是法律限制。由于安全原因,它被禁止,因为可以在运行时加载和卸载动态库,您可以下载其他可执行代码并加载它(如插件)。因此 Apple 严格控制动态链接,这对于 ios.

这样看似安全的操作系统来说是一个安全问题

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