我想从.swiftmodule
框架中检查iOS文件的公共内容。
在这里(https://lists.swift.org/pipermail/swift-users/Week-of-Mon-20160111/000827.html)我发现了一个使用swift-ide-test
的建议
您可以使用快速的ide测试工具来转储模块的公共接口,但是命令行接口不像它应该的那样漂亮: 快速-ide-测试-打印-模块-源-文件名=虚拟.快速-模块-打印=MyApp …再加上找到模块及其所有依赖项所需的任何-I或-F路径。如果您在Mac上,则需要在开头插入"xcrun -sdk macosx“或"xcrun -sdk iphoneos”,以找到系统标头。
不幸的是,当我尝试使用Xcode 10.1运行xcrun -sdk iphoneos swift-ide-test
时,会出现以下错误:
$ xcrun -sdk iphoneos swift-ide-test
xcrun: error: unable to find utility "swift-ide-test", not a developer tool or in PATH
似乎这个工具已经从Xcode中删除了。
还有关于如何打开.swiftmodule
文件的其他想法吗?
发布于 2018-11-21 20:33:37
经过几个小时的挣扎,我找到了一种从iOS框架中检查模块的公共内容的隐式方法。
这个技巧是通过在Swift中使用:print_module
命令来完成的。
更确切地说,您需要使用指向框架的路径启动Swift REPL:
swift -F <path to a folder with LibName.framework> -deprecated-integrated-repl
现在,您可以使用带有框架名称的:print_module
命令:
(swift) :print_module LibName
资料来源:
https://stackoverflow.com/a/27882120/2241008
https://stackoverflow.com/a/25005445/2241008
https://stackoverflow.com/a/36235186/2241008
swift-ide-test
工具(https://github.com/apple/swift/tree/master/tools/swift-ide-test)的源代码仍然存在,所以查看快捷模块内容的另一种方法是编译这个工具,但我没有进一步研究这个解决方案。
发布于 2022-04-13 19:05:30
发布于 2021-04-06 15:57:39
https://stackoverflow.com/questions/53416742
复制相似问题