函数“dlopen()”是?私有API?
我想使用函数“dlopen()”调用iOS平台上的动态库,函数“dlopen()”是私有API吗?
I want use function 'dlopen()' to invoke a dynamic library on iOS platform, is the function 'dlopen()' private API?
我想使用函数“dlopen()”调用iOS平台上的动态库,函数“dlopen()”是私有API吗?
I want use function 'dlopen()' to invoke a dynamic library on iOS platform, is the function 'dlopen()' private API?
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
我已经在 iOS 上成功使用 dlopen 多年了。在我的用例中,我使用 dlopen 按需加载公共系统框架,而不是在应用程序启动时加载它们。效果很好!
[编辑] - 从 iOS 8 开始,扩展和共享框架被禁止使用 dlopen,但是应用程序本身仍然可以使用 dlopen(现在被记录为支持不仅是 Apple 框架,还有自定义框架)。请参阅 此 Apple 文档。
[编辑] - 人为的例子
I've had success using dlopen on iOS for years. In my use case, I use dlopen to load public system frameworks on demand instead of having them loaded on app launch. Works great!
[EDIT] - as of iOS 8, extensions and shared frameworks are prohibited from using
dlopen
, however the application itself can still usedlopen
(and is now documented as being supported for not only Apple frameworks, but custom frameworks too). See the Deploying a Containing App to Older Versions of iOS section in this Apple doc.[EDIT] - contrived example