【发布时间】:2014-09-24 16:44:29
【问题描述】:
直到 iOS7,出于安全考虑,Apple 不支持动态链接。开发人员之间的代码重用通常依赖于静态库,这些库是作为应用程序可执行文件的一部分构建的。
在 iOS8 中引入扩展似乎稍微改变了这一点,因为扩展是单独的可执行文件。在扩展程序及其包含的应用程序之间共享代码是通过框架完成的。 Apple 在其发行说明中这样说:
iOS 框架。 iOS 开发者现在可以创建动态框架。 框架是要封装的代码和资源的集合 跨多个项目有价值的功能。构架 与扩展完美配合,共享双方都可以使用的逻辑 主应用程序和捆绑的扩展。
重点是我的。
此外,在扩展开发指南中,他们解释说您可以通过“嵌入式框架”在扩展和包含应用程序之间共享代码。
我的问题是——什么是嵌入式框架,它与动态框架有何不同,我们真的会在 iOS8 中看到正确的动态链接吗?我读过的所有文档似乎都对此模棱两可。
【问题讨论】:
-
我们不允许使用嵌入式框架或一般框架吗???在应用商店中拥有多个使用嵌入式框架的应用,然后在实际应用中添加品牌。还是我误解了你的意思?
-
启用了框架的使用,但它们都是静态的,这意味着它们是作为可执行文件的一部分构建的。现在我们有了扩展,如果我们继续这样做,应用程序可执行文件和扩展可执行文件将复制框架代码(假设两者都链接框架)。这对我来说很奇怪,所以我问苹果是否改变并允许我们动态链接(即在运行时链接一个无法执行的框架)。此外,他们在该文档中有“动态框架”一词。
-
好的,我想我明白你的意思了,我不得不通过旧大脑把它包裹好几次才能理解,但我想我明白了,但我想我没有答案,对不起.
标签: ios ios8 ios-frameworks ios-app-extension