2017-02-21 15 views
-1

Я новичок в разработке iOS, и у меня проблема с моим приложением. Я разрабатываю свое первое приложение для iOS, все в порядке, когда я развертываю свое приложение с mac на своих устройствах. Но проблема возникает, когда я хотел запустить приложение, например, после недели. Я нажимаю на значок приложения, и есть только окно запуска, и приложение закрыто. Что должно быть неправильно? Это произошло на многих устройствах, которые я пробовал. Мой первый взгляд после launchscreen содержит в viewDidLoad функции() как раз в этих строках:Приложение iOS не работает должным образом

super.viewDidLoad() 
    loader.stopAnimating() 
    NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil) 
    NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil) 

Теперь я не знаю, если у меня есть ошибка в моем приложении, или если есть какое-то ограничение от яблока. Большое спасибо.

+0

Вы заплатили за полную лицензию разработчика или используете свой Apple ID? –

+0

Я просто использую свой Apple ID. Так я должен заплатить за полную лицензию, чтобы избежать этой проблемы? –

+0

Нет, не нужно. Попытайтесь перейти в «Настройки»> «Основные»> «Профили и управление устройствами»><#AppleID#>> Тогда может быть кнопка доверия или подтверждения? –

ответ

0

Проверьте, что вы добавили self.keyboardWillShow & self.keyboardWillHide в свой файл ViewController.swift. Вместо self.keyboardWillShow & self.keyboardWillHide вы должны использовать ViewController.keyboardWillShow & ViewController.keyboardWillHide with #selector.

+0

спасибо, но я не уверен, что это исправит мою проблему, потому что все отлично работает, когда я развертываю приложение на устройствах. Проблема возникла после нескольких дней развертывания. Но спасибо. –

+0

Убедитесь, что вы также вернули NotificationCenter.default.removeObserver (self) строку в deinit(). –

+0

Согласно документам Apple, мы должны удалить всех наблюдателей в deinit(), чтобы полностью удалить наблюдателя из вашего приложения. –