gpt4 book ai didi

ios - 如何在 iOS 项目中集成 MuPDF 1.3

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:07 26 4
gpt4 key购买 nike

iOS 有内置的 PDF 渲染引擎,但它没有解决“透明拼合”问题。因此我尝试将 MuPDF 1.3 集成到项目中。我尝试使用引用 MuPDF 项目,但失败了。然后我为每个体系结构构建调试静态库,并使用“库搜索路径”和“其他链接标志”来分隔链接库,同时构建不同体系结构的二进制文件,但 XCode 一直显示“体系结构 armxxx 的 undefined symbol ”。最后,我构建了 MuPDF 的发布版本静态库,它应该兼容所有架构,并且 XCode 仍然显示与以前一样的东西。有没有人成功集成和编译MuPDF 1.3?请给我一些提示。非常感谢。

最佳答案

很抱歉回答晚了,但这一天或几天可能会对人们有所帮助。由于我必须将 MuPDF 库集成到我的一个 (Swift) 项目中,因此我生成了静态脂肪库并将它们集成到 Xcode 中。

这里是一个循序渐进的快速教程:

如何构建静态胖库:

  1. git clone --recursive git://git.ghostscript.com/mupdf.git
  2. 转到 mupdf/platform/ios
  3. 用 Xcode 打开 MuPDF.xcodeproj
  4. 将 MuPDF 目标的方案配置为发布
  5. 在 iPhone 模拟器上构建并运行该应用。
    • 这将为平台 i386x86_64 生成库
  6. 在真实的 iPhone 设备上构建并运行应用程序 - 使用您自己的捆绑 ID、证书和配置文件。
    • 这将为平台 armv7arm64 生成库
  7. 转到 mupdf/build/
    • 您会发现两个包含所有内置库的文件夹:release-ios-i386-x86_64release-ios-armv7-arm64
  8. 现在您需要为 mupdf 及其所有依赖项创建包含所有 4 种架构的胖库。

lipo -create ./*/libcurl.a -output 'libcurl.a' ; lipo -create ./*/libfreetype.a -output 'libfreetype.a' ; lipo -create ./*/libjbig2dec.a -output 'libjbig2dec.a' ; lipo -create ./*/libjpeg.a -output 'libjpeg.a' ; lipo -create ./*/libmujs.a -output 'libmujs.a' ; lipo -create ./*/libmupdf.a -output 'libmupdf.a' ; lipo -create ./*/libopenjpeg.a -output 'libopenjpeg.a' ; lipo -create ./*/libz.a -output 'libz.a'

如何将 MuPDF 集成到您的项目中:

  1. 添加/导入您的项目:
    • 来自 mupdf/include/mupdf 的所有头文件
    • mupdf/platform/ios/classes
    • 中的所有 obj-c 类
    • 来自 mupdf/platform/ios 的 common.[h,m] 文件
  2. 添加/导入之前生成的 fat 库(8 个文件)
  3. 通过将路径添加到您的库文件来配置库搜索路径
    • 例如 $(inherited) $(PROJECT_DIR)/External/MuPDF/lib/

您现在应该能够使用包含的库构建和运行您的应用程序。使用示例项目了解库的工作原理或任何在线教程。

专业提示:

最终的 fat 库非常大(~ 46mb)。您可以通过导入轻松减小应用的最终大小:

  1. 在发布文件夹下只有来自 mupdf/build/release-ios-armv7-arm64
  2. 的 lib.a
  3. 在调试文件夹下,从 mupdf/build/
  4. 生成的大型胖库
  5. DebugRelease 配置设置不同的Library Search Path

完成后,您将能够在每个模拟器和设备上构建并运行Debug。但仅限于 Release 的设备。您最终需要通过 AppStore 作为您的应用程序应该只在真实设备上运行。无需包含调试模拟器架构静态库。

这是我的 Xcode 项目中所有导入文件的屏幕截图:

enter image description here

关于ios - 如何在 iOS 项目中集成 MuPDF 1.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22031287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com