
Если xCode при компиляции проекта ругается на часть кода и выдает ошибку, например, такую:
Thread 4: Exception: -[UIKeyboardTaskQueue waitUntilAllTasksAreFinished] may only be called from the main thread.
Это означает, что данный кусок кода должен выполняться в главном потоке, а не в дополнительном.
Для исправления ситуации нужно поместить этот кусок кода внутрь блока DispatchQueue.main.async.
Так:
DispatchQueue.main.async(execute: {
// здесь вставить свой код
})
Или (сокращенный вариант) так:
DispatchQueue.main.async {
// здесь вставить свой код
}
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
let myRequest = try JSONDecoder().decode(MyRequest.self, from: data)
// токен и имя тогда можно получить так:
var myToken = myRequest.token
var myName = myRequest.callsign
// отобразить Username и токен в интерфейсе (для отладки):
DispatchQueue.main.async(execute: {
self.usernameLabel.text = String(myName)
self.tokenLabel.text = String(myToken)
})
} catch {
// модальное окно - если не верные логин-пароль:
DispatchQueue.main.async {
let modalWindow = UIAlertController(title: "Login Error", message: "Username or password is wrong :( ", preferredStyle: .alert)
let okButton = UIAlertAction(title: "Close", style: .default) {
(ACTION) -> Void in
}
modalWindow.addAction(okButton)
self.present(modalWindow, animated: true, completion: nil)
}
}
При использовании Программы Развертывания (Deployment Program) BYOD при установке профиля регистрации (Enrollment Profile) мобильного устройства на MDM-сервере, установка профиля может не выполнится, а мобильное устройство отобразит сообщение с ошибкой: Сбой установки профиля. iPad не активирован При установке профиля регистрации на контролируемые устройства (supervised devices) такая ошибка не может быть в принципе. Но если планшет является личным устройством, и...
... Разбиваются обычно долб#&бы. Вот сидят десять экипажей, водку пьют. Напились, и вот вдруг один начинает: - Да вот что вы, гражданские, вы летать не умеете. Вот мы военные - круто летаем, закрылки перед взлетом не выпускаем!
Очередное обновление флагманского приложения для EFB - Jeppesen FliteDeck Pro. Как говориться, нет пределов для совершенства, особенно, если это касается авиационного программного обеспечения для Electronic Flight Bag. В приложении Jepp FD Pro версии 2.9 появилась панель управления, совмещенная с рабочим полем приложения (расположена слева).Пилотам больше не нужно переключаться между вкладками – Схемы (Terminal...
Компания, столь известная в мире, названа в честь своего основателя - Элри Бергера Джеппесена (Elrey Berger Jeppesen). Его имя навсегда останется в истории мировой авиации. Этот человек не только создал новый вид авиационного производства - обеспечение документами аэронавигационной информации, но и заложил основу для разработки стандартов построения схем захода на посадку по приборам. Элри...
Для того, чтобы ваш сайт разные люди могли находить через свои любимые поисковые системы, будь то Яндекс, Гугл, Рамблер и др., нужно, чтобы эти самые поисковые системы проиндексировали ваш сайт. Сами они это делают очень редко, не удивлюсь нисколько, если они это саомостоятельно ВООБЩЕ НИКОГДА не делают. Так вот, поэтому нужно им дать волшебный пендель, а именно - оформить запрос на индексацию. Сроки индексации...
Если ваша любимая флэшка в один "прекрасный" день отказывается работать, а именно при попытке открыть ее выдает сообщение: "Нет доступа к К:\ (или другая буква, присвоенная флэшке) Файл или папка повреждены. Чтение невозможно." И нет возможности ни скопировать файлы с флэшки, ни сделать что-то другое. Если открыть Мой компьютер и кликнуть на букве флэшки правой кнопкой мыши и посмотреть свойства, то увидим, что файловая...
17 октября программа Jeppesen FD PRO получила одобрение от EASA (European Aviation Safety Agency) как програмный продукт для EFB. Одновременно с программой Jeppesen FD PRO была одобрена (сертифицирована) программа Jeppesen TC PRO.