Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone密码集成_Iphone_Objective C_Cocoa_Passwords_Keychain - Fatal编程技术网

iPhone密码集成

iPhone密码集成,iphone,objective-c,cocoa,passwords,keychain,Iphone,Objective C,Cocoa,Passwords,Keychain,我想将密码集成到现有的应用程序中。有人知道有什么好的教程,或者类似的,可以帮助我搜索吗?是否有一个标准的苹果教程来集成一个?我还没有找到一个,但我想它会像在didFinishLaunching&Resignative方法中放置一个键盘视图一样简单,对吗?钥匙链是储存它的好地方吗?再说一次,我不想在这方面重新发明轮子,特别是如果有一种经过验证的安全方法的话。这是我能找到的一个很好的教程,但它没有包含一个视图或多个调用点 谢谢 我已经讨论过了,但是我没有任何Api链接或者你可以使用的东西,但是有一些

我想将密码集成到现有的应用程序中。有人知道有什么好的教程,或者类似的,可以帮助我搜索吗?是否有一个标准的苹果教程来集成一个?我还没有找到一个,但我想它会像在didFinishLaunching&Resignative方法中放置一个键盘视图一样简单,对吗?钥匙链是储存它的好地方吗?再说一次,我不想在这方面重新发明轮子,特别是如果有一种经过验证的安全方法的话。这是我能找到的一个很好的教程,但它没有包含一个视图或多个调用点


谢谢

我已经讨论过了,但是我没有任何Api链接或者你可以使用的东西,但是有一些建议:

-对于多任务处理,您也应该在应用程序委托中的becomeActive方法中调用密码视图,这样应用程序在从后台返回时可以提示输入密码

基本上,您必须通过两种方法调用反密码:

- (void)applicationDidEnterBackground:(UIApplication *)application

- (void)applicationDidBecomeActive:(UIApplication *)application
第一个是在进入后台之前调用的,最好在进入后台之前调用以显示代码锁视图,而不是在进入后台之后调用,因为如果在进入后台之前调用此函数,您可能会在进入后台之前,即在显示代码锁视图之前看到应用程序

第二个方法,有点明显=D,但是您必须控制不显示代码锁两次,因为当您从后台返回时,也会调用第二个方法

-与密码相关的是,它可以存储在一些自定义配置文件中,例如带有少量加密的plist

-与视图相关,您可以使用处理此类行为的一些协议创建自己的viewController。没什么大不了的


希望这有帮助,再见

NSUserDefaults*standardUserDefaults=[NSUserDefaults standardUserDefaults]

if (standardUserDefaults) 
{
    [standardUserDefaults setObject:passCodeTextField.text forKey:@"lock"];
    [standardUserDefaults synchronize];
} 
如果您有任何保存方案,请将其放在特定操作中,否则请在首次启动应用程序时设置

签入appDelegate放置正确的if-else条件,然后使用上述代码

现在您可以访问此密码


NSUserDefaults*standardUserDefaults=[NSUserDefaults standardUserDefaults]; 如果(标准用户默认值) self.passCodeString=[standardUserDefaults objectForKey:@“lock”]


您可以在特定视图中使用它(用于密码)。

实际上不需要检查
standardUserDefaults
是否为非零(使用if块)。如果是<代码> nIL/COD>,当您发送消息时,不会发生任何事情,尽管我甚至不确定是否可以使用<代码> [NSUDER DEFAULD StRealUsRebug ] < /C> >返回代码< nIL>代码>,我认为这只是来自C++、C语言的人的一个好习惯。你能确切地告诉我哪些函数需要在委托中重写,以覆盖所有需要用户登录的情况吗?@Omer。有没有关于如何防止“两次显示代码锁”的想法?我把东西砍了,但肯定不干净。使用协议似乎是一种更干净的方法。你对此有什么建议吗?