如何获取 Corona 模拟器运行的操作系统?

我想知道有没有办法获取运行 Corona 模拟器的主机的操作系统?

我知道 system.getInfo("environment") == "simulator"system.getInfo("platform")

在 Corona 模拟器中,返回的值取决于所选的皮肤,通过更改皮肤可以测试平台相关逻辑。

我在 Windows 上开发,我的模拟器皮肤设置为 Android 设备,但是使用 system.getInfo("platform") 我无法找到主机操作系统(即 Windows)。

点赞
用户1870706
用户1870706

我误解了您询问模拟器是否在 Windows、macOS 或其他系统上运行的意图。显然,正如您所注意到的那样,这将为您提供皮肤的平台。

system.getInfo() API 允许您获取平台:

http://docs.coronalabs.com/api/library/system/getInfo.html#platform

这将让您知道您是否正在使用“android”、“ios”、“win32”等。

只有少数情况下您需要关心模拟器在哪个平台上运行。在大多数情况下,您希望模拟最终设备。我猜您正在构建一些用户将在 Windows 或 macOS 上运行的工具。我认为您会为 Windows 构建 .exe 或 macOS 二进制文件,并将其分发给任何想使用它的人。

但是,您可以使用 "architectureInfo" 获取底层架构信息。如果您在 Windows 上,它将返回类似于 "x86" 或 "x64" 的东西。您可以将其与检查是否在模拟器中运行相结合进行测试:

if system.getInfo( "environment" ) == "simulator" then
    if (system.getInfo("architectureInfo") == "x86" or system.getInfo("architectureInfo") == "x64") then
        print("This simulator is running on Windows")
    elseif (system.getInfo("architectureInfo") == "x86_64" or system.getInfo("architectureInfo") == "i386") then
        print("This simulator is running on macOS")
    end
end

请参见:http://docs.coronalabs.com/api/library/system/getInfo.html#architectureinfo

2018-12-10 23:04:26