Free
In-App Purchases

Details

  • Released
  • Updated
  • May 15, 2012
  • May 4, 2017

Features

Touch Lua video #1 for iPhone
Touch Lua screenshot #2 for iPhone
Touch Lua screenshot #3 for iPhone
Touch Lua screenshot #4 for iPhone
Touch Lua screenshot #5 for iPhone
Touch Lua screenshot #6 for iPhone
🖼️Get Icon
Icons↘︎

About

Learn and program using Lua, a powerful yet simple scripting language, directly on your iPhone. Features include a robust editor, multi-program support, and libraries for graphics, audio, and networking. Ideal for learning, prototyping, and advanced calculations.

Lua programming environment
Powerful editor with syntax highlighting
Graphics, audio, database, and network support
Multi-program and directory management
Built-in tutorials and reference
In-app purchase for advanced libraries
Show original description

What users say

See all reviews

What's New in Touch Lua

1.4.2

May 4, 2017

This app has been updated by Apple to display the Apple Watch app icon. bug fixes

More
5

In-App Purchases

$4.99

Draw Library

Draw Simple Graphic Objects: Lines, Circles, Polygons, Text, ...

User reviews

Love it, one critical bug though.

I absolutely love this app, it’s amazing. But there’s one bug where if you create a directory then re-launch the app, you cannot access it via the file viewer. It still exists, as you cannot create another directory named the one that you cannot access. But other from that this is an amazing app.

Edit:
I have investigates further and it is the graphical file viewer as when I use “sys.dir()” for the directory I cannot access via the GUI, it appears, the directory I made starts with a period character, if that helps.
Show more

Absolute cinema

It’s amazing, I can’t tell you how much I love it and it helped me. I can really see the effort and work put into this. It’s awesome keep doing it! I love it. It’s my wife

Crash on startup :(

Used to work wonderfully on my old iPhone 8, but crashes on startup after I transferred to an iPhone 11. I tried restarting my device, as well as uninstalling and reinstalling the app (which probably cleared all of my data), but nothing worked. Hope this gets fixed soon, this was one of my favorite apps and I used to love making small text-based games.
Show more

Crash on startup :(

Used to work wonderfully on my old iPhone 8, but crashes on startup after I transferred to an iPhone 11. I tried restarting my device, as well as uninstalling and reinstalling the app (which probably cleared all of my data ): ), but nothing worked. Hope this gets fixed soon, this was one of my favorite apps and I used to love making small text-based games.
Show more

Well…

I got the app thinking it was the best thing in the world, all the libraries you could ever want, info about each one, all in the easiest scripting language I have ever come across, and cheap to say the least.

After trying my first program, a game called “FreakOut!”, I was sad to find out the graphics didn’t work correctly, and later seen that the audio library had errors also.

If touch lua is fixed I’ll use it every day, but poking around the forum it doesn’t look like this will ever happen.

So much for getting high hopes.

-Oliver
Show more

Developer apps

User experience

🐞

Reported Bugs

15 issues

App crashes on startup after device transfer

Bug

White screen when running programs with functions

Bug

Crashes when saving files on iOS 8

Bug

Crashes when entering 100+ lines of code

Bug

Crashes with large inputs or pasted code

Bug

File viewer cannot access directories created after app restart

Bug

Auto-tab fails with inline if statements and arrays

Bug

Graphics library rendering issues

Bug

Audio library errors

Bug

Coroutines don't execute as separate threads

Bug

App crashes after 1000+ lines of code

Bug

DONE button missing with external keyboard

Bug

Return key creates double line breaks

Bug

Code color coding stops working with large programs

Bug

Typing becomes slow with programs over 300 lines

Bug

Requested Features

17 requests

Ability to disable auto-indentation

Feature

Increase code storage limit per script

Feature

Function collapsing/minimizing for large programs

Feature

Undo button functionality

Feature

Copyable console output

Feature

Line numbers in editor

Feature

iPad version with universal app support

Feature

Pastebin integration

Feature

Hardware access (camera, gyroscope, accelerometer)

Feature

Touch input and screen output options

Feature

Persistent data storage for programs

Feature

Export to home screen

Feature

JavaScript version of the app

Feature

Event listeners for accelerometer and microphone

Feature

Community sharing platform for programs

Feature

Loadstring support

Feature

Fixed-width font option

Feature

FAQ

What is Touch Lua?

Touch Lua is a mobile application that allows users to program and run scripts using the Lua programming language. It provides a powerful editor, console mode, and support for various programming tasks including graphics, audio, and networking.

What are the key features of Touch Lua?

Key features include a robust editor with syntax highlighting, support for multiple programs and directories, export/email functionality for programs and results, and built-in help resources like tutorials and a reference guide. It also offers libraries for graphics, audio, and networking.

How does Touch Lua make money?

The base application is free to download and use. Advanced features, such as the Nitro Graphics Library, Draw Library, Audio Library, Socket Library, and Turtle Library, are available through in-app purchases.

What can I use Touch Lua for?

You can use Touch Lua to learn programming and modern scripting, apply your programming skills, engage in rapid prototyping, use it as an advanced calculator, or as a graphing tool. The included libraries enable more complex applications.

Is Touch Lua compatible with the latest Lua standards?

Touch Lua uses the Lua 5.2 standard. If you encounter undefined functions, you should consult the reference guide for alternatives, as some functions may have been updated (e.g., unpack() is now table.unpack(), loadstring() is now load()).