几年前,Apple 放宽了许可协议中的语言以允许 Lua。它被用于大量 iOS 游戏(包括愤怒的小鸟、所有 EA 游戏等)。事实上,App Store 上有许多使用 Lua 编写的游戏,使用基于 Lua 的框架,如 Corona 或 MOAI(例如Crimson: Steam Pirates,Bungie Aerospace 资助的游戏,在 App Store 上连续数周排名第一) . 还有像 Codea 这样的应用程序,这是一个 Lua 脚本环境,最终用户可以使用它在设备上构建游戏/玩具。Lua在 iOS 平台上非常流行。
IMO,创建自己的语言将是荒谬的。Lua 太好了,非常适合 iOS:轻量级、快速、可破解、用户友好、易于嵌入和扩展等。但是,您可能无法将其集成到 C# 应用程序中。我真的不知道 MonoTouch 是如何工作的,但在桌面世界中,C# 是托管代码,编译为字节码,但 Lua 的 API 是本机代码。弥合这一差距是可以做到的,但工作量更大。
简而言之,你可以使用 Lua 而不必隐藏它。您不允许做的是创建一个“元平台”,用户基本上可以通过您的应用程序下载全新的应用程序(未经 Apple 审查)。
编辑:关于“我正在用 C# 构建,但以后可能会移植到 C++ 以供 iPad 和 Android 使用”,您可能需要查看 MOAI。它是一个用 C++ 编写的开源跨平台(PC、Mac、iPad、Android、Chrome)框架,用于在 Lua 中编写游戏。可能会节省您从那里开始的时间,而不是稍后移植。您可以直接在 Lua 中完成几乎所有事情,如果您遇到需要裸机性能或访问尚未通过 Lua API 公开的功能的事情,您可以用 C 或 C++ 编写它。