Я отправил свое приложение в магазин приложений, они сказали, что это просто sh, когда набираешь url и нажимаешь «Готово» с клавиатуры. Но мое реальное устройство, устройства и симулятор моих друзей-тестировщиков, которые мы тестировали на 13.3.1, работает нормально! Не удается найти, что проблемы здесь.
этот взломщик sh журнал от разработчика Apple:
мой код:
//MARK:-- TEXTFIELD DELEGATE
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
let detector = try! NSDataDetector(types: NSTextCheckingResult.CheckingType.link.rawValue)
let matches = detector.matches(in: textField.text!, options: [], range: NSRange(location: 0, length: textField.text!.utf16.count))
for match in matches {
guard let range = Range(match.range, in: textField.text!) else { continue }
let url = textField.text![range]
print("return: " + url)
let Turl = String(url)
DispatchQueue.main.async {
self.tableView.reloadData()
}
if Turl.isEmpty {
self.name.becomeFirstResponder()
return false
}else{
self.url.becomeFirstResponder()
UserDefaults.standard.set(Turl, forKey: "URL")
DispatchQueue.main.async {
self.tableView.reloadData()
}
textField.resignFirstResponder()
dismiss(animated: true){
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "load"), object: nil)
}
//apped data to array and save to userDefault
var saved = URLArray as! [String]
var named = nameArray
let PlaylistName = name.text!
if !saved.contains("\(textField.text!)"){
saved.append(Turl)
named.append(PlaylistName)
UserDefaults.standard.set(saved, forKey: "URLs")
UserDefaults.standard.set(named, forKey: "name")
print(named, saved)
self.tableView.reloadData()
}else{
print("was saved")
dismiss(animated: true, completion: nil)
}
}
}
if textField == name{
self.name.resignFirstResponder()
self.url.becomeFirstResponder()
}
self.tableView.reloadData()
return true
}