问题描述
我很难找到有关此的任何信息.Android 自己提到代码混淆是在提交到他们的商店之前要做的事情.但我从 Apple 或任何第三方"提交前检查清单中看不到任何关于此的信息.我能找到的唯一类似问题是 5 年前关于 Objective-C 的问题,我只能找到 1 个关于 iOS 混淆的 github 库.在提交到 Apple App Store 时混淆 Swift 代码是一种常见的做法吗?特别是要隐藏任何私有 API URL 或 API 密钥?是否有适用于 Apple 的 Pro-Guard 等效项?
I'm having a hard time finding any info on this. Android themselves mention code obfuscation as something to do before submitting to their store. But I see nothing about this from Apple or from any "third party" before-submission checklists. The only similar question I could find was one 5 years ago about Objective-C, and I only can find 1 github library about iOS obfuscation. Is it a common practice to obfuscate Swift code when submitting to the Apple App Store? Especially to hide any private API URLs or API keys? Is there a Pro-Guard equivalent for Apple?
推荐答案
Java 被转换成字节码,可以反编译.
Java gets converted into bytecode, which can be decompiled.
Swift 是一种编译语言,Clang 编译器经过高度优化.在发布模式下,它会去除符号并进行大量优化,这些优化本身就进行了大量的混淆处理.有编译语言的反编译器,但结果真的很糟糕,很难阅读.
Swift is a compiled language, and the Clang compiler is highly optimized. In release mode it strips out symbols and does a lot of optimization that does a great deal of obfuscation all by itself. There are decompilers for compiled languages, but the results are really awful and hard to read.
像 iXGuard 这样的工具可以进一步混淆你的 Swift 代码,让黑客更难对其进行逆向工程.
There are tools like iXGuard that have the ability to further obfuscate your Swift code, making it even harder for hackers to reverse-engineer it.
这篇关于在提交到 Apple App Store 之前混淆 Swift 代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!