在提交到Apple App Store之前混淆Swift代码

Kar*_*nal 16 obfuscation app-store ios swift

我很难找到关于此的任何信息.在提交到他们的商店之前,Android自己提到代码混淆作为要做的事情.但我从苹果公司或任何"第三方"提交前检查清单中都看不到这一点.我能找到的唯一类似问题是5年前关于Objective-C的问题,我只能找到1个关于iOS混淆的github库.在提交到Apple App Store时混淆Swift代码是一种常见做法吗?特别要隐藏任何私有API URL或API密钥?苹果的Pro-Guard是否相同?

Dun*_*n C 17

Java被转换为字节码,可以反编译.

Swift是一种编译语言,Clang编译器经过高度优化.在发布模式下,它会删除符号并进行大量优化,这些优化本身就可以进行大量的混淆.有编译语言的反编译器,但结果非常糟糕且难以阅读.

  • 实际上,Xcode 也将 Swift 代码转换成一种中间表示字节码,Apple 称之为 bitcode。但是,IIRC,在向客户发送应用程序之前,Apple 会剥离比特码,并且该应用程序的编译代码也由 Apple 加密。Swift 编译器在 Release Build 上执行的优化(包括代码重新排序等)会执行一些混淆。 (2认同)

Pab*_*loR 6

参加聚会有点晚了,但是无需越狱设备即可提取纯文本字符串,只需将命令字符串发送到您的可执行文件即可。

所以,是的,以某种方式保护您的敏感字符串。

您可以检查我的命令行实用程序来执行此操作:

https://github.com/pabloroca/obfuscateapi