ios - 检测 iOS App 是否用 Swift 编写

标签 ios objective-c swift jailbreak cydia

我正在开发一个工具,试图在应用程序上转储越狱设备的 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/

相关文章:

iPhone:从一个位置选择一个文件上传到服务器

ios - 清除文件内容

ios - AVAssetExportSession 在运行时不起作用

ios - 将导航 Controller 嵌入到选项卡栏 Controller 中

ios - 如何以编程方式在 Swift 4 中接收来自 UIButton 的输入?

objective-c - iOS/xcode : didReceiveData empty when run on device but fine on simulator?

ios - 将谓词应用于数组中的元素

ios - 我在使用 swift 包管理器时遇到问题

ios - Swift:展开可选项和 NSNull

ios - 使用曲线 Core Graphics 的路径动画