存储应用程序参数,如密钥

时间:2012-06-01 09:57:03

标签: iphone objective-c ios ios4

我正在开发一个小SDK,它有一个configFile.plist文件来存储密钥之类的东西。 在他的应用程序中实现此SDK的开发人员和其他用户将下载该应用程序,他们将能够进入应用程序二进制文件并更改.plist文件中的任何内容。

有没有办法存储此信息而不让用户轻松修改参数?我不希望用户能够更改.plist文件中的参数。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

当涉及到plist存储时,无论哪种方式都可以轻松访问。您最好的选择是提供配置的类文件,而不是plist。以下示例..

//Config.h

#define SHARED_SECRET @"2390849028349829384"
#define SOME_OTHER_VALUE 1

..等等,这样,类文件使用App编译,对用户不可见,但开发人员可以访问。在#import "Config.h"后,您可以使用SHARED_SECRETSOME_OTHER_VALUE代替代码中的值本身。如果这足以作为您问题的解决方案,请将其标记为答案。希望它有所帮助..

答案 1 :(得分:1)

请记住,人们将能够使用正确的工具查看/更改几乎任何内容,您无法阻止人们对此进行攻击。

如果SDK的每个用户的密钥不同,那么您可能希望将其作为开发人员的责任并让他们使用委托方法为您提供私钥。这将使它成为他们的问题,并且它将使他们更容易将密钥直接编译到代码中,这对最终用户来说不太明显。