我正在开发一个工具,试图在应用程序上转储越狱设备的 header 类。 我正在使用 Clutch , 但有时 Clutch 对一些较新的应用程序失败,我正在考虑集成 Clutch 以外的一些工具。 所以,我需要首先确定二进制文件是否是用Swift编写的,以便我可以切换到正确的工具来执行。
我的问题是, 有没有办法(例如命令工具)来确定 iOS 应用程序二进制文件是否是用 Swift 编写的? 与仅使用 Obj-C 相比,在 Swift 中构建二进制文件的方式真的有很大不同吗?
最佳答案
您可以使用 nm tool打印应用程序符号表。如果您搜索 swift
,例如使用 grep
:
nm YourApp | grep swift
它将打印类似这样的内容(以及更多):
U __swift_FORCE_LOAD_$_swiftFoundation
对于 100% Objective-C 应用程序,结果将为空。但是,您无法判断代码是否 100% Swift,因为对于混合的 objc + swift 应用程序,结果将类似于 swift 应用程序。
关于ios - 检测 iOS App 是否用 Swift 编写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32882208/