首页 > iOS中Framework的问题

iOS中Framework的问题

从iOS8之后Apple支持了对动态Framework的支持,从概念上理解动态链接库和静态链接库只是在编译和运行的机制上面不一样,但是我还是不明白,动态Framwork是如何做到共享的,因为还是需要把生成的framework导入到项目才行,另外就是是否能够直接通过后台来跟新Framework,这个是否是动态Framework的优点?


动态Framwork是如何做到共享的,因为还是需要把生成的framework导入到项目才行

是的,需要导入到项目。

动态 framework 可以共享的意思是编译的时候是让程序指向这个库,而不是拷贝一份这个库。我觉得可以类比为这样:动态库的共享类似两个指针指向一个对象,静态库类似没有指针的基本类型,只能拷贝。

如果是系统的 dylib 可以不用包含。如果是自己写的,程序里还得包含这个库,不然怎么传到用户手机上呢?

所谓的共享指的是多个 app 可以共享一个系统的库,或者你的 app 和 extension 可以共享一个库。不同的 app 之间,现在应该是不可以。

是否能够直接通过后台来跟新Framework,这个是否是动态Framework的优点?

理论上技术是可以实现的。但会不会有签名的问题和上架审核能不能过我就不知道了…… 我知道的是用 Lua 和 js 动态更新是可以通过的。在线更新 framework 官方应该是禁止的,实际上能不能通过不好说。

【热门文章】
【热门文章】