我正在开发一个客户端/服务器 SDK 项目,其中 iOS 客户端 SDK 作为代码而不是静态库分发给开发人员(我们有这种分发方法的商业原因)。我遇到过一些我们怀疑某些开发人员正在更改客户端 SDK 代码的情况。我想更新我们的客户端 SDK 以更主动地检测到这一点。
我的一个想法是在编译代码文件时以某种方式校验和,并让客户端 SDK 在与服务器交互时报告校验和以及 SDK 版本。在我们发布客户端 SDK 之前,我们会在我们这边记录每个版本的校验和,然后在客户端 SDK 校验和与其版本不正确时拒绝发送到我们服务器的任何内容。
我在这里有几个问题:
- 我如何在编译时不显眼地校验客户端 SDK Objective-C 代码?
- 有没有更好的方法来实现我的总体目标?