Я пытаюсь создать систему входа для моего приложения. всякий раз, когда я запускаю свое приложение и ввожу правильный адрес электронной почты и пароль, я получаю эту ошибку iHertz[2889:191536] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (_NSZeroData)'
, я не знаю, связано ли это с моим php файлом или моим файлом swift. ТАКЖЕ я получаю поток 1: сигнал SIGABRT, как только я нажимаю кнопку входа в систему.
Код из моего файла .swift
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else { return }
print(String(data: data, encoding: .utf8) ?? "not a string")
do {
let json = try JSONSerialization.data(withJSONObject: Data(), options: .fragmentsAllowed ) as? NSDictionary //CAUTION: Cast from 'Data' to unrelated type 'NSDictionary' always fails
if let parseJSON = json {
let id = parseJSON["id"] as? String
if (id?.isEmpty)! {
return
}
DispatchQueue.main.async {
let tabBarController = self.storyboard?.instantiateViewController(withIdentifier: "TabBarController") as! UITabBarController
let appDelegate = UIApplication.shared.delegate
appDelegate?.window??.rootViewController = tabBarController
}
} else {
}
} catch {
print(error)
}
}
task.resume()
Код формы моего userLogin. php файл
require("iHertzmusic.ini");
require("access.php");
$email = htmlentities($_POST["email"]);
$password = htmlentities($_POST["password"]);
$returnValue = array();
if(empty($email) || empty($password))
{
$returnValue["status"] = "error";
$returnValue["message"] = "Missing required field";
echo json_encode($returnValue);
return;
}
$secured_password = sha1($password);
$dao = new access();
$dao->connect();
$userDetails = $dao->selectUser($email,$secured_password);
if(!empty($userDetails))
{
$returnValue["status"] = "Success";
$returnValue["message"] = "User is registered";
echo json_encode($returnValue);
} else {
$returnValue["status"] = "error";
$returnValue["message"] = "User is not found";
echo json_encode($returnValue);
}
$dao->disconnect();
Любая помощь по этому вопросу будет очень признательна, если пытаться в течение нескольких дней.