4

我在 xcode4.2 中创建了一个项目,当我用 xcode4.5 打开它时,iOS 6 SDK 出现错误 255,原因似乎是没有 libxml2.2.7.3.dylib。

我有什么选择 是否提供了其他替代品?

谢谢

4

2 回答 2

20

Xcode 4.5,或更准确地说是 iOS6 SDK(因为可用的库依赖于 SDK,而不是 Xcode 版本)仍然具有libxml2.2.dylib.

它可能不是 2.2.7.3 版本,而是现在嵌入在 SDK 中的更新、最新的 2.2.xy 版本。

您通常不应该将您的应用程序与特定版本的库链接,但最好使用通用版本,如libxml2.dyliborlibxml2.2.dylib

通常库尊重语义版本控制,这意味着:

  • 仅当 API 与以前的主要版本不向后兼容时,它们的主要版本才会更改,
  • 仅当 API 中引入新方法时,次要版本才会更改,但仍与以前的 API 兼容,
  • 补丁版本意味着已经进行了一些错误修复,但 API 没有更改。

因此,如果libxml尊重这种语义版本控制(我猜是这样,就像几乎所有标准库一样),每个版本2.2.x.ylibxmlAPI 都与任何其他版本兼容,2.2.x.y并将继续与您的程序一起使用。假设的新版本libxml2.2.x.z将简单地修复错误,但不会对其 API 进行任何更改。并且当一个版本libxml2.3.x.y出现时,它仍将向后兼容2.1and 2.2(只是添加新功能但不删除现有功能)。

因此,您可以安全地将您的应用程序与通用库版本链接libxml2.dylib,该版本将自动指向2.x.y.z当前 SDK 中可用的最新版本。或指向最新版本的链接(这些是libxml2.2.dylib指向最新2.2.x.y版本的符号链接,就像所有类 UNIX 操作系统都使用的那样)

于 2012-09-25T10:44:44.487 回答
0

我认为 iOS6 的 SDK 只包含不同版本的libxml

于 2012-09-25T10:23:23.440 回答