comment by @nickskull on 26.03.2019
@kjoneandrei could you please add some more information to the issue? I think we need to setup some rules about titles, body, labels.
comment by @kjoneandrei on 26.03.2019
@nickskull Of course, here it is.
The Problem and the Solution:
So we have a client security requirement that requires source code obfuscation. To do so we have found the SwiftShield framework that can perform the obfuscation for us before archive step. By doing so it will rename classes, variables etc to something random so that it will deter attackers from trying to reverse engineer the app and/or try to access API keys from the project.
Risks:
After the obfuscation step the code might not be archivable if there were errors with obfuscating the code. The framework's github page contains a lists of do and don't to help with the headaches. I would recommend though that the obfuscation is done locally first so we can spot the possible errors before they reach our CI.
Originally created by @kjoneandrei in a different project and now migrated here.
History
original description by @kjoneandrei on 25.03.2019 Implement obfuscation via https://github.com/rockbruno/swiftshield in CI
comment by @nickskull on 26.03.2019 @kjoneandrei could you please add some more information to the issue? I think we need to setup some rules about titles, body, labels.
comment by @kjoneandrei on 26.03.2019 @nickskull Of course, here it is.
The Problem and the Solution:
So we have a client security requirement that requires source code obfuscation. To do so we have found the SwiftShield framework that can perform the obfuscation for us before archive step. By doing so it will rename classes, variables etc to something random so that it will deter attackers from trying to reverse engineer the app and/or try to access API keys from the project.
Risks:
After the obfuscation step the code might not be archivable if there were errors with obfuscating the code. The framework's github page contains a lists of do and don't to help with the headaches. I would recommend though that the obfuscation is done locally first so we can spot the possible errors before they reach our CI.
Alternatives:
https://github.com/Polidea/SiriusObfuscator
Next Step:
Research and implement