💡
原文英文,约800词,阅读约需3分钟。
📝
内容提要
本文记录了作者在使用Swift开发PSPDFKit时遇到的各种问题,如缺失文件、链接器崩溃和API注释缺失。作者提供了解决方案和临时修复方法,强调了使用Swift工具链的挑战,并期待未来的改进。
🎯
关键要点
- 作者开始使用Swift开发PSPDFKit,记录了遇到的各种问题。
- 遇到的第一个问题是缺失libclang_rt.profile_iossim.a文件,需要手动复制文件解决。
- 链接器崩溃的问题与zld有关,移除xcconfig设置可以解决。
- 在不同配置下编译的对象出现Mach-O或LLVM Bitcode错误,统一设置可以解决。
- 缺失的API注释导致Swift编译时使用了非优化的API,作者使用条件编译进行临时解决。
- libLTO.dylib加载失败的问题可以通过关闭所有项目的链接时间优化来解决。
- Xcode和构建系统偶尔崩溃,重启可以解决,但不太方便。
- Catalyst编译时出现已知错误,预计会在几天内修复。
- 使用Swift工具链存在挑战,适合有冒险精神的开发者。
❓
延伸问答
在使用Swift开发PSPDFKit时遇到了哪些主要问题?
主要问题包括缺失libclang_rt.profile_iossim.a文件、链接器崩溃、Mach-O或LLVM Bitcode错误、缺失API注释和libLTO.dylib加载失败等。
如何解决缺失libclang_rt.profile_iossim.a文件的问题?
可以通过手动复制缺失的文件到工具链中来解决,使用命令:sudo cp `xcode-select -p`/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/*/lib/darwin/libclang_rt.*.a /Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2020-06-09-a.xctoolchain/usr/lib/clang/10.0.0/lib/darwin。
链接器崩溃的原因是什么?
链接器崩溃是由于zld的设置问题,移除xcconfig设置可以解决此崩溃。
缺失的API注释对Swift编译有什么影响?
缺失的API注释导致Swift编译时使用了非优化的API,影响了编译效率。
如何解决libLTO.dylib加载失败的问题?
可以通过确保所有项目的链接时间优化(LTO)关闭来解决此问题,设置为LLVM_LTO = NO。
使用Swift工具链开发的挑战是什么?
使用Swift工具链的挑战包括频繁的崩溃和缺失文件,适合有冒险精神的开发者。
➡️