如何在 iOS 上规范化 xml?

How to canonicalize xml on iOS?

我需要在我的 iOS 应用程序中规范化一个 xml 文件(使用 c14n 标准)以进行签名验证,但我在 iOS SDK 中找不到 API这将帮助我做到这一点。 XML 规范化 API canonicalXMLStringPreservingComments is available only for the MacOS. Is there any equivalent API or 3rd party library like XOM 为此目的 iOS?

因此,我使用 libxml2 找到了解决方案。 libxml2 包含 XML 规范化 (c14n) 所需的 API,您可以找到它的文档 here.

libxml2 在 iOS SDK 中可用。 要将库添加到您的 Xcode 项目中:

  • Target -> Build Phases -> Link Binary With Libraries
  • Click on the "+" button and search for "libxml2.tbd"

您还需要将以下内容添加到项目的构建设置中:

  • Other Linker Flags: -lxml2
  • Header Search Paths: $(SDKROOT)/usr/include/libxml2

要在您的 Swift class 中访问 libxml2,只需添加:

import libxml2