周三常见问题解答:升级 Corona SDK 模拟器

周三常见问题解答:升级 Corona SDK 模拟器

FAQ Icon

今天是周三,又到了解答常见问题(FAQs)的时候。以下是一些关于升级 Corona SDK 模拟器的常见问题解答。

1. 升级到新版本时,我是否必须卸载 Corona SDK?

不,在 Mac 或 Windows 上都不需要卸载。

2. 升级到新版本时,我是否必须取消授权 Corona SDK?

不,安装较新或较旧的版本时,无需取消授权。您唯一需要取消授权的情况是:如果您计划在另一台计算机上使用 Corona SDK,并且您已经授权了两台计算机;如果您更改了与您的 Corona SDK 许可证关联的电子邮件地址;或者如果您计划在计算机上重新安装操作系统。

当您升级(或降级)Corona SDK 的版本时,新安装的版本会使用已经存储在您计算机上的帐户设置(在 Windows 注册表或 Mac 的 plist 文件中)。

3. 我什么时候需要联系 Corona Labs 的支持来取消我帐户上的计算机授权?

在极少数情况下,您才需要联系 Corona Labs 来取消您帐户上的计算机授权。如果您忘记取消计算机授权,请在以下情况下联系我们:您已更改与您的帐户关联的电子邮件地址,或者您已在计算机上重新安装了操作系统。请记住:为避免这些问题,请务必首先取消您的计算机授权。

4. 我可以安装多个版本的 Corona SDK 吗?

答案取决于您使用的平台。

在 Mac 上,您可以同时安装多个 Corona SDK 版本。技巧是在安装新版本后重命名“应用程序”文件夹中的 CoronaSDK 文件夹。在我的计算机上,我会在文件夹名称的末尾附加构建号,以使它们分开。对于最新的公共版本 #1137,我会将 CoronaSDK 重命名为 CoronaSDK–1137

对于 Windows,您一次只能安装一个版本的 Corona SDK。安装较新版本时无需卸载,但如果您需要安装较旧版本,则必须先卸载。

5. 本周常见问题解答技巧

最新的公共版本 (1137) 添加了许多错误修复和一些急需的功能(构建 2013.1137 发行说明)。您可能错过的一项功能是能够检索应用程序名称(使用 system.getInfo)。您可能想知道检索应用程序名称有什么好处。这里有一个例子。

在设备上调试应用程序时,我喜欢启用运行时弹出消息功能(设置 showRuntimeErrors = true)。我希望我的调试版本有弹出消息,但在提交到 App Store 时不要有。这涉及到修改我的项目文件,并且必须记住在准备发布应用程序时删除代码。

我的解决方案是在 config.lua 文件中添加一些代码来控制 showRuntimeErrors 的状态,而无需修改我的项目文件。

上面的代码根据应用程序名称将 showRuntimeErrors 键设置为 truenil。如果应用程序名称中的任何位置包含“debug”,则 showRuntimeErrors 将设置为 true。如果名称中不存在该字符串,则将其设置为 nil。因此,如果我的应用程序名为 BubbleJump,则如果我在 Corona SDK 构建窗口中将“-debug”附加到应用程序名称的末尾,则会启用调试代码。看到 BubbleJump-debug 也是一个很好的提醒,表明这不是一个生产就绪的应用程序。我选择了“-debug”,但您可以选择任何您喜欢的。

您可以通过在 main.lua 文件的顶部添加以下代码进一步操作。

您现在可以使用 debug 变量在代码中启用调试语句。您甚至可以使用它在 debug 为 false/nil 时禁用 print 语句。这使您可以在构建时控制 debug 标志,而无需修改项目文件并冒着发布启用了调试代码的应用程序版本的风险。

关于使用 debug 作为变量名的一点注意事项。如果您确实使用 debug,请确保它是局部变量而不是全局变量。Lua 确实有一个内部 debug 库,如果您将 debug 定义为全局变量,则会覆盖该库。这样做会抑制您的代码可能生成的任何运行时错误输出和 print 输出。最好使用 dbg_debug 代替。

最后一点:我在此博客文章中提到了公共版本 #1137。此版本取代了构建 #1135,并修复了插件的潜在问题。

这就是今天的全部问题。我希望您喜欢它们,甚至学到了一些东西。

tom
1 条评论
  • Ali Subhani
    发表于 10:29,12 月 28 日

    嗨,
    我已经购买了 Corona Pro,但我的模拟器仍然显示 Starter 版本,并且我无法看到 Kindle 和 Windows 的构建选项。
    我需要做些什么来添加许可证吗?
    谨致问候
    Ali