繁体   English   中英

iPhone 项目中的外部静态 (.a) 库

[英]External Static(.a) Libraries in iPhone projects

在过去的几个月里,我遇到了各种关于 iPhone 应用程序中不允许使用外部/私有库的讨论。[需要说明的是,这不是即将发生的事情,我错误地认为它已经存在.]

我正在查看 WunderRadio 源: http://www.wunderradio.com/code.html ,我注意到他们在项目中有 3+.a 文件。

libcCommon.a liblibmms.a 和 libffmpegLib.a 是我正在查看的。

我是否被误导在 iPhone 项目中使用此类库? Apple 会接受和批准正在使用它们的项目吗? 如果是这样,那是什么不允许的? 它只是使用苹果自己的私人和无证图书馆,但你可以包括你自己的吗?

非常感谢,-代码

Static 库一直被允许用于 iOS 开发,并且没有迹象表明 position 会随时改变(为什么会改变?)。 不允许使用动态库,这将导致您的应用被拒绝。

我认为他们这样做会很疯狂。

那里有太多的 3rd 方库,这几乎会扼杀他们现在拥有的开发人员群体。 想象一下,如果你必须从头开始重写每个库? 真是疯了……

当然,我没有任何证据。 我只是认为他们这样做会很疯狂。

.a 文件称为 static 库。 当您构建代码时,它们基本上是在构建时编译的。 这些是苹果绝对允许的。 事实上,XCode 在创建新项目时提供了一个“Cocoa Touch Static 库”的模板。

另一方面,.dylib 文件是动态库,Apple 不允许。 它们是独立的代码文件,可以由多个应用程序共享,因为它们的代码在运行时被引入您的应用程序。

Saurik(创建 Cydia 的人)通过为越狱的 iPhone 创建 Mobile Substrate 解决了这个问题。 它允许开发人员创建动态库以更改现有 Apple 类的功能。

希望这可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM