Bunu yapmak için çalışıyorum, böylece uygulama kapansa bile kullanıcı oturum açabilir. İşleyişimin doğru şekilde çalışmasını sağlayamıyorum. Kullanıcının oturum açtığı bir işlev var ve bu tuşa basıldığında çalışır, ancak yalnızca kullanıcı ilk kez oturum açtıktan ve sonra kapattıktan sonra işlevi yüklemek için doğru yerde işlevi göremiyorum. app ama çıkmıyor.Kullanıcıya ilk kez giriş yaptıktan sonra devam ediyor Backendless
self.backendless.userService.setStayLoggedIn(true)
"backendless.userService.login" önce ziyade giriş tepki işleyicisinde:
ViewControler
import UIKit
import FBSDKCoreKit
import FBSDKLoginKit
class ViewController: UIViewController {
let APP_ID = "i have it"
let SECRET_KEY = "i have it"
let VERSION_NUM = "v1"
var backendless = Backendless.sharedInstance()
@IBOutlet weak var userEmail: UITextField!
@IBOutlet weak var password: UITextField!
func displayAlert(title: String, message: String) {
let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction((UIAlertAction(title: "OK", style: .Default, handler: { (action) -> Void in
self.dismissViewControllerAnimated(true, completion: nil)
})))
self.presentViewController(alert, animated: true, completion: nil)
}
@IBAction func signUp(sender: AnyObject) {
let user = BackendlessUser()
user.email = self.userEmail.text
user.password = self.password.text
if userEmail.text == "" || password.text == ""{
displayAlert("Error in form", message: "Please enter a email adress and password")
} else{
backendless.userService.registering(user,
response: { (registeredUser : BackendlessUser!) ->() in
print("User has been registered (ASYNC): \(registeredUser)")
},
error: { (fault : Fault!) ->() in
print("Server reported an error: \(fault)")
}
)
}
}
@IBAction func logIn(sender: AnyObject) {
if userEmail.text == "" || password.text == ""{
displayAlert("Error in form", message: "Please enter a email adress and password")
}else{
loginUserAsync()
let appDelegate = UIApplication.sharedApplication().delegate! as! AppDelegate
var initialViewController = self.storyboard!.instantiateViewControllerWithIdentifier("myTabbarControllerID") as! UIViewController
appDelegate.window?.rootViewController = initialViewController
appDelegate.window?.makeKeyAndVisible()
}
}
func loginUserAsync() {
let user = BackendlessUser()
user.email = self.userEmail.text
user.password = self.password.text
backendless.userService.login(
self.userEmail.text, password:self.password.text,
response: { (user : BackendlessUser!) ->() in
self.backendless.userService.setPersistentUser()
self.backendless.userService.setStayLoggedIn(true)
self.backendless.userService.getPersistentUser()
let user = self.backendless.userService.currentUser
if (user != nil) {
// get user's email (i.e. mandatory/predefined property)
let userEmail = user.email
let password = user.password
let appDelegate = UIApplication.sharedApplication().delegate! as! AppDelegate
var initialViewController = self.storyboard!.instantiateViewControllerWithIdentifier("myTabbarControllerID") as! UIViewController
appDelegate.window?.rootViewController = initialViewController
appDelegate.window?.makeKeyAndVisible()
}
else if (user == nil) {
print("User hasn't been logged")
}
},
error: { (fault : Fault!) ->() in
print("Server reported an error: \(fault)")
}
)
}
func validUserTokenAsync() {
backendless.userService.isValidUserToken(
{ (var result : AnyObject!) ->() in
print("isValidUserToken (ASYNC): \(result.boolValue)")
},
error: { (var fault : Fault!) ->() in
print("Server reported an error (ASYNC): \(fault)")
}
)
}
override func viewDidLoad() {
super.viewDidLoad()
let loginButton = FBSDKLoginButton()
loginButton.center = self.view.center
self.view.addSubview(loginButton)
}
override func viewDidAppear(animated: Bool) {
loginUserAsync()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Kullanıcı varsayılan değerlerinde bir simge veya bir boole depolayabilirsiniz. Ardından, kişi uygulamaya geri döndüğünde bu kayıtlı değere sahip olup olmadığınızı görün ve giriş işlemini atlayın. Bu senin işine yarar mıydı? – ryantxr
Bunu nasıl yapacağından emin değilim. Backendless için çok yeni. Bana bir kod örneği verebilir misin? –
Önceki çözümüm aniden çalışmayı durdurdu :( –