One thing I dislike about Texpad is their faulty “auto-sense” algorithm and the developer insists on not providing manually setting the default engine. Any situation that is not known to the developer and their auto sense rules will most likely default in xelatex, and that happens VERY often. Even if the input file is made for LuaLaTeX, using style files specific to that engine, it auto senses to xelatex and requires manually stopping auto-sense and then specify the correct engine, each time a new file is opened. The same thing happens when the app sees an input text in a language that the developer didn’t consider. I suggested to the developer several times to create a manual default engine option, but they religiously insists on their auto sense algorithm and not allowing a user to specify a default engine (unless that is xelatex, because that’s what it defaults to).
If you are a LuaLaTeX user, or write documents that includes languages other than English, your chance of getting frustrated with this app is high.