gpt4 book ai didi

swift - 从 swift 应用程序发出发送数据 Heroku

转载 作者:搜寻专家 更新时间:2023-11-01 05:31:55 28 4
gpt4 key购买 nike

我正在尝试使用 mongolab 将创建的用户数据从我的 swift 应用程序发送到 heroku 服务器。我可以从 postman 发送数据,它显示在 mogolab 上,但是当我通过 swift 应用程序发送时,它给我以下错误

2019-07-02 22:43:49.473763-0700 Smack[2903:99473] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /Users/amansingh/Library/Developer/CoreSimulator/Devices/53EA3DDB-EA13-45F9-A9C4-6EB6ABF911A1/data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles 2019-07-02 22:43:49.474887-0700 Smack[2903:99473] [MC] Reading from private effective user settings. 2019-07-02 22:44:12.737834-0700 Smack[2903:99604] [AutoFill] Cannot show Automatic Strong Passwords for app bundleID: com.learning.0363.Smack due to error: iCloud Keychain is disabled

import Foundation
import Alamofire
import SwiftyJSON


class AuthService {
static let instance = AuthService()

let defaults = UserDefaults.standard
var isLoggedIn : Bool {
get {
return defaults.bool(forKey: LOGGED_IN_KEY)
}
set {
defaults.set(newValue, forKey: LOGGED_IN_KEY)
}
}

var authToken : String {
get {
return defaults.value(forKey: TOKEN_KEY) as! String
}
set {
defaults.set(newValue, forKey: TOKEN_KEY)
}
}

var userEmail: String {
get {
return defaults.value(forKey: USER_EMAIL) as! String
}
set {
defaults.set(newValue, forKey: USER_EMAIL)
}
}

func registerUser(email: String, password: String, completion: @escaping CompletionHandler){

let lowerCaseEmail = email.lowercased()

let body: [String: Any] = [
"email": lowerCaseEmail,
"password": password

]
Alamofire.request(URL_REGISTER, method: .post, parameters: body, encoding: JSONEncoding.default, headers: HEADER).responseString { (response) in
if response.result.error == nil {
completion(true)
}else{
completion(false)
debugPrint(response.result.error as Any)
}
}
}
func loginUser(email: String, password: String, completion: @escaping CompletionHandler){
let lowerCaseEmail = email.lowercased()

let body: [String: Any] = [
"email": lowerCaseEmail,
"password": password

]

Alamofire.request(URL_LOGIN, method: .post, parameters: body, encoding: JSONEncoding.default, headers: HEADER).responseString { (response) in
if response.result.error == nil {
// if let json = response.result.value as? Dictionary<String, Any>{
// if let email = json["user"] as? String {
// self.userEmail = email
// }
// if let token = json["token"] as? String {
// self.authToken = token
// }
// }
//USING SWIFTY JSON
guard let data = response.data else {
return
}
do {
let json = try JSON(data: data)
self.userEmail = json["user"].stringValue
self.authToken = json["token"].stringValue
} catch {
print(error.localizedDescription)
}


self.isLoggedIn = true
completion(true)
}else{
completion(false)
debugPrint(response.result.error as Any)
}
}


}




}

它显示已登录但是当我检查数据库中的数据时它不存在

最佳答案

不确定“我的数据库中的数据不存在”是什么意思,但是,关于错误,该消息在某种程度上是明确的:

[AutoFill] Cannot show Automatic Strong Passwords for app bundleID: com.learning.0363.Smack due to error: iCloud Keychain is disabled

该应用程序有时会尝试自动填充一些凭据文本字段,但您的 iCloud 钥匙串(keychain)已禁用,从而阻止系统从您的设备检索您的登录名/密码信息。


尝试从这样的设置中启用它:

  • 选择“设置”> [您的姓名]
  • 点按钥匙串(keychain)并滑动将其打开。
  • 输入您的 Apple ID,然后按照说明操作。

enter image description here


提前想一想,如果您的设备上也禁用了自动填充,您可能会遇到类似的错误。

这是一个非常快速的教程,展示了如何设置所有这些:

https://robopress.robotsandpencils.com/strong-passwords-in-ios-12-8ec819b3b99

关于swift - 从 swift 应用程序发出发送数据 Heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56945162/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com