As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center作为指导。
                            
                        
                    
                
                                6年前关闭。
            
                    
我正在做一个客户端/服务器SDK项目,其中iOS客户端SDK作为代码而不是静态库作为代码分发给开发人员(我们有这种分发方法的商业原因)。我遇到过一些情况,我们怀疑某些开发人员正在更改客户端SDK代码。我想更新我们的客户端SDK,以更主动地检测到这一点。

我的想法是在编译时以某种方式对代码文件进行校验和,并让客户端SDK在与服务器交互以及SDK版本时报告该校验和。在发布客户端SDK之前,我们会先标记每个版本的校验和,然后在客户端SDK校验和的版本不正确时拒绝发送到我们服务器的任何内容。

我在这里有几个问题:


在编译时如何对客户端SDK Objective-C代码进行校验和检查?
有没有更好的方法可以实现我的总体目标?

最佳答案

在编译时如何对客户端SDK Objective-C代码进行校验和检查?


我认为这并非您想象/想要的那样。如果可以访问源代码,那么他将能够修改任何内容-包括硬编码的校验和(而且他可以反正修补补丁代码)。


  有没有更好的方法可以实现我的总体目标?


好吧...如果您不能将您的库作为封闭源分发,那么不,不是真的...也许在许可证中要求不要修改代码,并阻止-使用服务器-怀疑那些更改了码。

但是,尽管如此:为什么您如此关心代码的修改?

07-27 19:09