Постоянно ошибка Thread 1: signal SIGABRT

swift

#1

Добрый день может кто сталкивался, делаю по видео Курс 12: Firebase: Наше первое приложение.
при запуске приложения появляется “Thread 1: signal SIGABRT” все перепроверил делал заново два раза все как по видео все ровно одна и та же ошибка… что с этим можно сделать?


#2

Здесь надо код смотреть, просто так не сказать.
Попробуйте скачать проект, который прилагается под видео и запустить его.


#3

да вроде все проверил, а на особенно обращать внимание?


#4

На то, что все правильно написано и заполнено. У меня подобная ошибка вылезала вроде, когда пытался считать информацию из массива, который еще не инициализировал.
Можете скинуть проект на какой-нибудь файлообменник (типо яндекс.диск), тогда будет проще помочь.


#5

https://yadi.sk/d/-fONjHT83G8MJ7


#6

У Вас ошибка заключалась в том, что первая сцена, используемая для входа и регистрации не была соединена с файлом (хоть и название было введено верно). Выберите первый View Controller и в Identity Inspector еще раз введите название файла в поле Class. Если Xcode сам начнет предлагать нужное название, то нажмите enter, тогда точно все привяжется правильно.
На первом скриншоте изображено, что было у Вас, а на втором, что должно быть. None не должно быть.


Thread 1 signal sigabrt в простом приложении
#7

Класс все заработало!!! Спасибо большое…:+1:


#9

подскажите пожалуйста что делать с этой ошибкой?


#10

Как уже сказали смотреть код. Без кода только по названию этой ошибки ничего нельзя сказать. Может быть что угодно.
Чаще всего неверная инициализация или привязка элементов.


#11

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?


func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    return true
}

func applicationWillResignActive(_ application: UIApplication) {
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
}

func applicationDidEnterBackground(_ application: UIApplication) {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

func applicationWillEnterForeground(_ application: UIApplication) {
    // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
}

func applicationDidBecomeActive(_ application: UIApplication) {
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

func applicationWillTerminate(_ application: UIApplication) {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

}


#12

class AppDelegate: UIResponder, UIApplicationDelegate { ошибка в этой строчке


#13

это не тот код. При возникновении этой ошибки всегда кидает в AppDelegate.swift
Вам нужно смотреть код скрина, с которым работаете до возникновения ошибки.


#14

class AppDelegate: UIResponder, UIApplicationDelegate { Thread 1: signal SIGABRT
Что за ошибка, подскажите пожалуйста!


#15

В консоле должно быть подробное описание вроде же.


#16

Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘*** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write’
*** First throw call stack:
(
0 CoreFoundation 0x0000000105b531e6 __exceptionPreprocess + 294
1 libobjc.A.dylib 0x00000001023c3031 objc_exception_throw + 48
2 CoreFoundation 0x0000000105bc8975 +[NSException raise:format:] + 197
3 Foundation 0x000000010181f0a5 +[NSJSONSerialization dataWithJSONObject:options:error:] + 253
4 phpswift 0x00000001015003f4 _T08phpswift14ViewControllerC3retySo8UIButtonCF + 2484
5 phpswift 0x000000010150133c _T08phpswift14ViewControllerC3retySo8UIButtonCFTo + 60
6 UIKit 0x0000000102c583e8 -[UIApplication sendAction:to:from:forEvent:] + 83
7 UIKit 0x0000000102dd37a4 -[UIControl sendAction:to:forEvent:] + 67
8 UIKit 0x0000000102dd3ac1 -[UIControl _sendActionsForEvents:withEvent:] + 450
9 UIKit 0x0000000102dd2a09 -[UIControl touchesEnded:withEvent:] + 580
10 UIKit 0x0000000102ccd0bf -[UIWindow _sendTouchesForEvent:] + 2729
11 UIKit 0x0000000102cce7c1 -[UIWindow sendEvent:] + 4086
12 UIKit 0x0000000102c72310 -[UIApplication sendEvent:] + 352
13 UIKit 0x00000001035b36af __dispatchPreprocessedEventFromEventQueue + 2796
14 UIKit 0x00000001035b62c4 __handleEventQueueInternal + 5949
15 CoreFoundation 0x0000000105af5bb1 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17
16 CoreFoundation 0x0000000105ada4af __CFRunLoopDoSources0 + 271
17 CoreFoundation 0x0000000105ad9a6f __CFRunLoopRun + 1263
18 CoreFoundation 0x0000000105ad930b CFRunLoopRunSpecific + 635
19 GraphicsServices 0x00000001083b9a73 GSEventRunModal + 62
20 UIKit 0x0000000102c57057 UIApplicationMain + 159
21 phpswift 0x0000000101503447 main + 55
22 libdyld.dylib 0x0000000106ca7955 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
вот это в консоли


#17

У Вас есть в приложении сериализация объекта в JSON? Судя по ошибке - неправильный тип верхнего уровня при записи в JSON.


#18

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var textFieldAName: UITextField!


@IBOutlet weak var textFieldMember: UITextField!



@IBAction func ret(_ sender: UIButton) {
    
        guard let url = URL(string: "http://172.30.31.250/iosmaster/createteam.php") else {return}
    
    let teamName=textFieldAName.text
        let memberCount = textFieldMember.text
        let postParameters = "name="+teamName!+"&member="+memberCount!;
        var request = URLRequest(url:url)
        request.httpMethod = "POST"
        request.addValue("application/json", forHTTPHeaderField: "Content-Type")
    guard let httpBody = try? JSONSerialization.data(withJSONObject: postParameters, options: [] ) else {return}
        request.httpBody = httpBody
        let session = URLSession.shared
        session.dataTask(with: request) { (data,response,error) in
            if let response = response {
                print(response)
            }
            guard let data = data else {return}
            do {
                let json = try JSONSerialization.jsonObject(with: data, options: [])
                print(json)
            } catch {
                print(error)
            }
            }.resume()
    }
}
вот мой код

#19

Не правильный формат - значит не то, чтобы у Вас с кодом что-то не так, но не корректно указали формат получаемого значения. То есть получается получаете не то, что ожидаете.


#20

Суть программы, то что мы в SQL ку записываем данные name и member, и когда я ввожу данные в текстовые поля и нажимаю на отправку, выскакивает эта ошибка!


#23

Подскажите пожалуйста, выскакивает ошибка такая же(

@IBAction func play(_ sender: UIButton) {

var player: AVAudioPlayer?

func playSound() {
    guard Bundle.main.url(forResource: "sound1", withExtension: "wav") != nil else { return }
    
    do {
        try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default)
        try AVAudioSession.sharedInstance().setActive(true)
        guard let player = player else { return }
        
        player.play()
        
    } catch let error {
        print(error.localizedDescription)
    }}

}
}