【问题标题】:JSTileMap generating warnings in ios7 SpriteKit templateJSTileMap 在 ios7 SpriteKit 模板中生成警告
【发布时间】:2014-04-06 16:38:54
【问题描述】:

我正在将 JSTileMap 和 LFCGzipUtility 复制到项目中,当我运行应用程序时,它会为这两个文件生成多个警告。

但是,当我从 github 运行提供的示例时,我没有看到任何警告。

我想知道为什么会有差异,以防万一,我做错了什么?

参考请访问https://github.com/slycrel/JSTileMap

澄清,我想知道我是否应该在项目设置中更改任何内容,而不是调试运行良好且在上面链接中提供的示例上没有任何警告的代码。

【问题讨论】:

  • jecht 是正确的,64 位翻译还没有发生。它已经在我的清单上来照顾它。使用 NSInteger 和 NSUInteger 是一个错误,我需要纠正它。我会在这周看看如何做到这一点。
  • github repo 现已更新,删除警告。
  • 太棒了,谢谢!

标签: ios7 sprite-kit jstilemap


【解决方案1】:

如果你在 iOS 模拟器 64 位模式下运行你的应用程序,那么问题是 JSTileMap 的文件没有更新到 64 位架构

苹果文件说


需要仔细检查依赖于 NSInteger 和 CGFloat 类型的代码。

首先为 64 位运行时构建应用,修复出现的任何警告,并在代码中搜索特定的 64 位问题。例如:

确保所有函数调用都有正确的原型。 避免意外将 64 位值分配给 32 位数据类型而截断它们。 确保在您的应用程序的 64 位版本中正确执行计算。 在 32 位和 64 位版本的应用中创建布局相同的数据结构(例如当您将数据文件写入 iCloud 时)。


这是 Apple 的 64 位转换指南:

https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaTouch64BitGuide/Introduction/Introduction.html

如果不是你的情况,打开文件 JSTileMap.m,在里面按 command + f 输入警告并按回车

您会发现 JSTileMap 希望您看到的所有警告,只需评论所有警告即可

这里我告诉你所有的警告

#warning these appear to be incorrect for iso maps when used for tile objects!  Unsure why the math is different between objects and regular tiles.

#warning This needs to be optimized into tilemap layers like our regular layers above for performance reasons.

#warning the positioning is off here, seems to be bottom-left instead of top-left.

#warning need to write setTileGidAt:

祝你好运!!

【讨论】:

  • 谢谢,但正如我之前提到的,作者提供的示例没有任何警告。请看下面的链接,github.com/slycrel/JSTileMap我想知道他做了什么,样本没有任何警告,但是当文件添加到新项目时,它会生成所有这些警告。
  • 你能说出警告吗?
  • 正如我所提到的,JSTileMap 的作者提供的示例没有任何警告,但是当我将它们添加到我的项目(典型的 Sprite Kit 模板)时,我会收到警告,如下所示,隐式转换会丢失整数精度...
  • 我知道作者提供的示例没有警告我要求您的项目发出警告,正如我在回答中所说,您正在 64 位模拟器中运行您的应用程序而不是32 位,JSTileMap 没有更新到 64 位,如果你在 32 位模拟器中运行你的应用程序,你应该没有警告
  • 谢谢,突然间澄清了很多事情。这都是关于 32 位和 64 位的。非常感谢。
猜你喜欢
  • 2015-03-11
  • 2013-11-07
  • 2018-11-26
  • 2013-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-05
  • 2017-06-29
相关资源
最近更新 更多