在iOS上,是什么让libxml2公开但是libxslt是私有的?

时间:2011-07-14 20:23:00

标签: ios

我已经看过一些关于在iOS上使用libxml2和libxslt的问题。并且似乎共识似乎是libxml2是公开的,并且可以在不从Apple App Store拒绝应用程序的情况下使用。并且libxslt的情况恰恰相反 - 使用libxslt将会拒绝应用程序。

但是看看这两个图书馆,我看不出两者有什么不同。两个dylib都可以通过XCode添加到我的项目中。两者都要求我在项目中添加标题的路径。我在iOS开发中心看不到任何文档。

我还应该考虑其他什么来确定图书馆是非公开的吗?或者它是苹果公司在评估应用程序时决定的,并将其提交到App Store是唯一可以找到的方法吗?

2 个答案:

答案 0 :(得分:2)

我继续研究需要使用libxml2和libxslt的应用程序,在这个过程中,我想我已经找到了两个库的区别。我被系统上两个库的头文件的存在所迷惑。但我不明白XCode如何查找系统头文件。关键是我系统上安装的每个SDK都有自己的头文件集,XCode设置为自动搜索正确位置的头文件,正确的位置依赖于我为项目设置的Base SDK。

由于我使用的是iOS 4.3 SDK,系统头文件位于:

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/include /

当我查看该目录下时,我找到libxml2的文件,但找不到libxslt的文件。 libxslt头文件在我的系统中的其他目录中的事实只是一个红色的鲱鱼。它们不在SDK中,因此如果我想让App批准Apple App App,则不应使用它们。

以下是Apple配置中有关Apple的更多信息:

http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html

答案 1 :(得分:0)

http://www.securityfocus.com/bid/48840

libxslt中的安全漏洞;和任何理由一样好。

似乎在iOS 5中已经修复了,所以希望事情可能会发生变化。