如果我与客户共享一个未签名的XCARCHIVE文件,他们能看到源代码吗?它是否比发送IPA文件更安全?
由于
答案 0 :(得分:7)
如果你看一下.xcarchive,你会发现它包含一个“dSYM”目录(它包含应用程序的调试符号),一个Info.plist和一个包含应用程序二进制文件的目录。它应该比发送IPA更安全。
答案 1 :(得分:2)
如果您担心逆向工程,分发.xcarchive目录是一个坏主意。
特别是.ipa文件通常不包含C符号表。
任何objc链接的任何mach-o二进制文件都将包含描述所有objc类,选择器和imp地址的段。反转时很有用,但C符号表可以并且应该从分布式二进制文件中删除。
.dSYM目录(包含剥离的符号表)是专门保留的,因此可以对崩溃报告中的堆栈跟踪进行符号化。分发它没有理由。
实际上,对于逆向工程师来说,拥有符号表可能是无价的。
如果您担心有人对某些逻辑进行逆向工程,请使用私有C函数实现所有内容(就编译器而言,所有内容都在同一文件中)并仅分发剥离的二进制文件(.ipa而不是.xcarchive)。
不要使用objc而不是你被迫使用。
即便如此,一个善于使用反编译器的人最终仍会把它弄清楚,但这将会更加困难。