Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.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
在iOS应用程序中处理授权的更合适方式是什么_Ios_Xcode_Cocoa Touch_Swift_Xcode6 - Fatal编程技术网

在iOS应用程序中处理授权的更合适方式是什么

在iOS应用程序中处理授权的更合适方式是什么,ios,xcode,cocoa-touch,swift,xcode6,Ios,Xcode,Cocoa Touch,Swift,Xcode6,我正在尝试创建一个iOS应用程序,它需要对某些REST服务进行授权。这种应用程序的更合适结构是什么 我认为应该有类似smth的SignenViewController,带有适当的文本字段来输入用户名和密码,如果满足以下条件之一,我需要提供它: 以前未进行任何登录 以前输入的用户凭据当前无效(当然,REST服务返回此信息) 好的,第一个问题是——我应该把检查显示这个视图控制器必要性的代码放在哪里?在func应用程序中(应用程序:UIApplication,didFinishLaunchingW

我正在尝试创建一个iOS应用程序,它需要对某些REST服务进行授权。这种应用程序的更合适结构是什么

我认为应该有类似smth的
SignenViewController
,带有适当的文本字段来输入用户名和密码,如果满足以下条件之一,我需要提供它:

  • 以前未进行任何登录
  • 以前输入的用户凭据当前无效(当然,REST服务返回此信息)
好的,第一个问题是——我应该把检查显示这个视图控制器必要性的代码放在哪里?在
func应用程序中(应用程序:UIApplication,didFinishLaunchingWithOptions启动选项:[NSObject:AnyObject]?)->Bool
函数

下一个问题是——我应该如何记住上次输入的用户凭据?我是否应该使用名为smth的密钥(如“LastEnteredUserCredentials”)将其保存到iOS密钥链

然后,在这两种情况下,我应该将向REST服务发出HTTP请求以获得用户授权的代码放在哪里(第一次授权或使用保存的用户凭据的授权)

有没有做这些事情的好例子

提前谢谢

  • 我认为检查您的授权状态最合适的地方是
    applicationdidebecomeactive
  • 最好将所有凭证保存在密钥链中,因为它可能在所有用户设备之间共享所有数据
  • 通过创建
    AuthorizationManager
    类来使用单音模式,该类包含所有相关代码,并在验证时生成通知。状态已更改。向应用程序代理订阅这些通知,并让其显示适当的视图控制器。此外,单身汉可以观察到
    uiapplicationdibecomeactivityfication
    通知(来自NotificationCenter),因此无需修改appDelegate的
    applicationdibecomeactivity
    方法
  • 我认为检查您的授权状态最合适的地方是
    applicationdidebecomeactive
  • 最好将所有凭证保存在密钥链中,因为它可能在所有用户设备之间共享所有数据
  • 通过创建
    AuthorizationManager
    类来使用单音模式,该类包含所有相关代码,并在验证时生成通知。状态已更改。向应用程序代理订阅这些通知,并让其显示适当的视图控制器。此外,单身汉可以观察到
    uiapplicationdibecomeactivityfication
    通知(来自NotificationCenter),因此无需修改appDelegate的
    applicationdibecomeactivity
    方法
  • 我认为检查您的授权状态最合适的地方是
    applicationdidebecomeactive
  • 最好将所有凭证保存在密钥链中,因为它可能在所有用户设备之间共享所有数据
  • 通过创建
    AuthorizationManager
    类来使用单音模式,该类包含所有相关代码,并在验证时生成通知。状态已更改。向应用程序代理订阅这些通知,并让其显示适当的视图控制器。此外,单身汉可以观察到
    uiapplicationdibecomeactivityfication
    通知(来自NotificationCenter),因此无需修改appDelegate的
    applicationdibecomeactivity
    方法
  • 我认为检查您的授权状态最合适的地方是
    applicationdidebecomeactive
  • 最好将所有凭证保存在密钥链中,因为它可能在所有用户设备之间共享所有数据
  • 通过创建
    AuthorizationManager
    类来使用单音模式,该类包含所有相关代码,并在验证时生成通知。状态已更改。向应用程序代理订阅这些通知,并让其显示适当的视图控制器。此外,单身汉可以观察到
    uiapplicationdibecomeactivityfication
    通知(来自NotificationCenter),因此无需修改appDelegate的
    applicationdibecomeactivity
    方法