检测iOS App是否是用Swift编写的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检测iOS App是否是用Swift编写的相关的知识,希望对你有一定的参考价值。
我开发了一个工具,试图在App上转储越狱设备的头类。我正在使用Clutch,但有时Clutch未能使用一些较新的应用程序,我正在考虑集成Clutch以外的一些工具。因此,我首先需要确定二进制文件是否是用Swift编写的,这样我就可以切换到正确的工具来执行。
我的问题是,有没有办法,比如命令工具来确定ios App二进制文件是否是用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应用程序。
另一答案
在.app文件中有一个_CodeSignature文件夹。里面有一个CodeResources文件。如果你打开它作为文本,你会看到它包含Frameworks/libswiftCore.dylib
我相信这表明它是用swift构建的。
以上是关于检测iOS App是否是用Swift编写的的主要内容,如果未能解决你的问题,请参考以下文章
Stockfish Chess Engine 与 Swift 中的 iOS 项目集成
如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?
给定 APK 文件,我如何检测应用程序是不是是用 Kotlin 编写的?