【问题标题】:Differ Android and iOS with Lua使用 Lua 区分 Android 和 iOS
【发布时间】:2014-05-04 22:04:42
【问题描述】:

我有一个 Lua 脚本,它应该在 Android 和 iOS 上执行,所以有时我需要知道它是在 iOS 上执行还是正在执行在安卓上执行。我发现的唯一方法是检查debug.getinfo(1).source 的开头,但我认为应该有更好的方法。

有什么建议吗?

【问题讨论】:

    标签: android ios lua


    【解决方案1】:

    这个脚本在什么环境下运行?

    如果它位于现有应用程序或框架的上下文中,则该应用程序应为您提供此信息。如果你正在编写调用 Lua 的底层代码,你应该自己提供。

    顺便说一句,我不知道您如何通过查看debug.getinfo(1).source 来猜测操作系统。在 iOS 和 Android 上有何不同?

    如果你能提供更多关于你在做什么的细节,我将能够给你一个更好的答案。

    【讨论】:

    • 我必须在 Lua 上检测的原因是应用程序无法将此信息发送到 Lua 脚本。使用debug.getinfo(1).source,我可以查看路径是否以“@/var/mobile/Applications”开头,但也许有更好的方法。
    • 如果您没有外部方式提供此信息,我想您的解决方案很好。但是我没有看到很多用例,您无法向 Lua 脚本提供外部信息并且仍然可以访问调试库。
    【解决方案2】:

    据我所知,没有内置方法。如果您的脚本可以调用os.executeos.getenv,那么您可能会找出一个操作系统命令或环境变量来区分。否则,无论您的脚本运行什么,都必须提供它(可能通过os.getenv:例如,apache 不使用apache 版本设置一些环境变量等?如果这是运行您的脚本的内容,那么os.getenv 应该这样做)。

    【讨论】:

      猜你喜欢
      • 2015-12-15
      • 1970-01-01
      • 1970-01-01
      • 2020-09-13
      • 2017-09-02
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多