应用程序在iOS设备和iOS模拟器上的行为不同
请原谅我问错了问题-我对编码还不熟悉。 我的应用程序在iPadAir 2模拟器上正常运行,但是当部署到我的实际iPadAir 2上时,一行代码(据我所知)不起作用 所涉行:应用程序在iOS设备和iOS模拟器上的行为不同,ios,swift,ipad,Ios,Swift,Ipad,请原谅我问错了问题-我对编码还不熟悉。 我的应用程序在iPadAir 2模拟器上正常运行,但是当部署到我的实际iPadAir 2上时,一行代码(据我所知)不起作用 所涉行: starArray[streakCounter-1].image = UIImage(named: "22.png") 该行是if语句的一部分,其中所有其他行在设备和模拟器上都可以正常工作 你知道我能做什么吗?在很多情况下,模拟器的行为与实际设备不同 文件系统就是其中之一。默认情况下,Mac OS文件系统不区分大小写(除非
starArray[streakCounter-1].image = UIImage(named: "22.png")
该行是if语句的一部分,其中所有其他行在设备和模拟器上都可以正常工作
你知道我能做什么吗?在很多情况下,模拟器的行为与实际设备不同 文件系统就是其中之一。默认情况下,Mac OS文件系统不区分大小写(除非您在设置驱动器时采取额外步骤)。iOS文件系统区分大小写。模拟器在Mac文件系统上运行 如果您的文件名为“22.PNG”或“22.PNG”,那么您的代码可以在sim卡上使用,但不能在设备上使用 我不确定这是否是你问题的原因,但至少值得检查一下
(还有其他区别,但我关注的是最有可能导致您描述的问题的区别。)只是检查了文件名,希望这是问题的根源,但遗憾的是不是!还有什么我可以尝试的吗?因此,将代码分成两条语句,第一条语句将结果放入类型为
UIImage
的临时变量中,然后在调试器中逐步执行代码。查看对UIImage(名:)
的调用是否返回nil。定义“不工作”。据我所知,它就是不执行。在同一图像视图运行sprite动画后,应该将图像视图的图像更改为“22.png”。它在模拟器中工作,但在设备上播放动画,然后返回到初始图像而不是新图像。这行代码在设备上被调用了吗?在设备上调用UIImage(名为:“22.png”)
的实际结果是什么?顺便说一句-使用UIImage(名称:)
时,您不需要.png
。谢谢您的提示,刚刚清理完。我假设如果在模拟器上调用它,它也会在设备上调用。它似乎没有任何作用。有什么想法吗?首先你需要具体点。“似乎什么都没做”太模糊了。设备上是否正在调用代码行?如果不确定,请使用调试器。看看到底发生了什么。如果正在调用,请将该行拆分为两行let image=UIImage(名为:“22.png”)
后接starArray[streakCounter-1]。image=image
。确认image
是否为nil
。