DroidScript

Thunkable под iOS: проблемы и решения

DroidScript
инструменты для мобильной разработки

Thunkable под iOS: проблемы и решения

Оглавление  
Дата изменения 12.05.2018

Thunkable X находится в состоянии развития и достаточно часто возникает ситуация, когда что-то не работает, происходит зависание или Thunkable Live показывает белый экран без каких либо сообщений об ошибках. Порядок действий в таких случаях может быть таким:

  1. Осуществить пошаговую отладку алгоритма. Если раньше работало, а сейчас нет, то, возможно, проблема во вновь добавленных блоках, отсутствие обязательных значений в полях свойств или обновлении ThunkableLive. Например, ребята обновили компонент Button и не посчитали нужным предупредить пользователей о том, что у ранее созданных кнопок могут слететь настройки.
  2. Изменить логику в редакторе блоков. Белый экран часто возникает при возникновении внутренней ошибки. При этом никакие сообщения не отображаются, а Thunkable Live зависает и перестаёт реагировать даже после правки кода.
  3. Закрыть Thunkable Live и переподключиться к нему заново
  4. Если не работают алгоритмы, которые по логике должны железно работать, например, из документации, то переустановить Thunkable Live.
  5. Если ничего не помогло - обратиться за помощью к сообществу. Не могу сказать, что ответы на форуме даются на все вопросы, но в некоторых случаях разработчики мне помогли решить проблемы. Чем детальнее будет информация (на какой операционной системе проблема, рисунок с блоками, которые не работают, последовательность действий и др.), тем быстрее помогут разобраться.

Как можно чаще делайте копии проекта, так как блоки в редакторе блоков имеют свойство самопроизвольно удаляться при некоторых обстоятельствах (восстанавливаем их комбинацией Ctrl+Z) и глючить. Если при перемещении блоков курсор мыши попал на область палитры блоков, то после отпускания эти блоки благополучно удалятся и не сразу понимаешь, что произошло. Данная область работает как корзина, о чём говорит появление крохотного крестика возле курсора при перемещении по ней.

Баги и странности в работе Thunkable X

  1. В документации описываются компоненты, которых нет в среде разработки.
  2. Thunkable Live не всегда адекватно отображает изменения проекта. Бывает так, что при написании слова обновление его происходит на середине и вместо слова отображается только его часть или стиль компонента изменили, а на экране старый вариант. В таких случаях нужно опять сделать какое-либо изменение в проекте для инициализации обновления данных.
  3. Имена компонентов изменить невозможно.
  4. Копирование блоков между приложениями невозможно.
  5. Компоненты можно перетаскивать как на рабочее поле редактора вида, так и в области списков видимых или невидимых компонентов приложения Visible Components или Invisible Components. Некоторые компоненты не добавляются в проект при их перемещении на рабочее поле и второй способ является единственно возможным для осуществления этого.
  6. Если компонент может содержать в себе другие компоненты, то он относится к контейнерным компонентам. При перемещении компонента в области списка проекта появляется вспомогательная линия, показывающая место его вставки после отпускания клавиши мыши. Если линия вертикальная, то это означает вставку компонента в компонент-контейнер. К контейнерным компонентам относится экран Screen, все компоненты навигации Navigator и компоновщики Row и Column. Проблема в том, что линия вставки и полоса выделения имеют одинаковый цвет, что не позволят их различить.
  7. Контейнерные компоненты не прячут своё содержимое внутри своей области и может получиться так, что содержимое вываливается наружу, например, при возникновении ошибки в недостаточно большой по площади области Web Viewer.
  8. Созданные в редакторе блоков переменные Variables имеют глобальную область видимости в пределах содержащего их экрана. Имя переменной можно изменить по команде Rename variable..., находящейся в выпадающем списке блока.
  9. Для обмена данными между экранами используются компоненты локального и облачного хранилища - Local Storage и Realtime DB, но Firebase в России (из-за блокировок?) работает криво и вместо Realtime DB используйте Spreadsheet (AirTable).
  10. Web Viewer не поддерживает команду Back.
  11. При наличии в области просмотра списка List Viewer пустой опции наблюдается короткое зависание при его отображении.
  12. Повторная генерация события при выборе элемента списка в компоненте List Viewer. Для устранения двойного нажатия опции можно использовать защёлку по первому нажатию, но из-за отсутствия событий перехода на экран это не защитит от тройного и большего числа быстрых нажатий.
  13. Иногда не срабатывают блоки, находящиеся в блоке функции. В этом случае их можно вынести в блок инициализации экрана Screen Starts.
  14. Все блоки удаляются без предупреждения по кнопке Del.
  15. Рабочее поле в редакторе блоков не растягивается по высоте области браузера и нельзя её увеличить путём уменьшения масштаба окна браузера.
  16. Содержимое областей Image и WebView перерисовывается при использовании таймера.
  17. При использовании непустых блоков обработки событий происходит перезагрузка компонентов.
  18. Самопроизвольная генерация блоков в рабочем поле редактора при невыясненных обстоятельствах.
  19. Обновление содержимого WebView при переходе на содержащий его экран с других экранов. Если в контенте, например, находися вызов диалога alert(), то при переходе на экран с WebView в IDE будет происходить отображение этого диалога.
  20. Белый экран или аварийное завершение работы при запуске Thunkable Live на Android, если в свойстве Row.Height не указано какое-либо значение.
  21. Внешнее оформление компонент Web Viewer (его высота, рамка) работает только тогда, когда в нём есть какое-то содержимое. Если нужно отобразить пустую область данного компонента, то в свойстве URL нужно указать "about:blank".
  22. При некоторых обстоятельствах нажатие Ctrl+Z может привести к безвозвратному удалению всех блоков из редактора

Как видно, проблем хватает, но и с этим можно работать.

Оглавление  
© 2016 droidscript.ru admin@droidscript.ru