模拟器上的PNG图像可以显示,但在设备上无法显示

5
我的 iPhone 应用程序从一个捆绑包中获取约 300 张图片,然后在其中一个视图控制器上随机显示一张。这在模拟器(Xcode 4.3.3 / iPhone 5.0 或 5.1 模拟器)上运行良好,但当我将其推送到我的设备(iPhone 3gs)时就不行了。应用程序运行正常,日志中也没有错误,但是那个应该显示图片的视图部分却是空白的,就像背景颜色一样。
我尝试过以下方法:
  1. I've checked and double-checked the case of the filenames vs references in code.
  2. I checked the Build Phase called Copy Bundle Resources, and it's definitely set to copy the bundle to the device.
  3. I looked at the log produced by the build, and although that was the first time I'd examined it in detail, it had no errors and seemed to be copying the bundle across. Here's the snippet from the log:

    CpResource FlagQuiz/flagimages.bundle /Users/ian/Library/Developer/Xcode/DerivedData/FlagQuiz-drrjrlxfifrmbnaissqfqxuixchb/Build/Products/Debug-iphoneos/FlagQuiz.app/flagimages.bundle
    cd /Users/ian/Documents/xcodeapps/FlagQuiz
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks -strip-tool /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip /Users/ian/Documents/xcodeapps/FlagQuiz/FlagQuiz/flagimages.bundle /Users/ian/Library/Developer/Xcode/DerivedData/FlagQuiz-drrjrlxfifrmbnaissqfqxuixchb/Build/Products/Debug-iphoneos/FlagQuiz.app
    
这是所请求的包的截图:https://skitch.com/bobsmells/eeask/flagquiz.xcodeproj-afghanistan.png 有什么想法吗?

请问您能否发布一下捆绑包的视图图片截图? - Fab1n
2
尝试使用另一个PNG文件,确保您尝试使用的PNG文件没有问题。我已经多次看到这是问题所在。 - WhoaItsAFactorial
@Jeremy1026-这些都是png文件...大约有300个。基本上是一个国旗测验 - 不是原创想法,更像是一个教我iOS编程的练习。所以在显示1个国旗后,用户从4个国家名称中选择,它会告诉他们对或错,然后显示下一个。每次随机从300个png图像中选择一个进行10次操作,当它在iPhone上时,没有任何图像显示。至于png文件存在问题,我想可能所有文件都存在相同的问题,因为它们都来自同一地方;我将尝试使用其他几个随机的png文件。 - bobsmells
@Fab1n 我已经按照你的要求放了一张屏幕截图的链接 - 希望这就是你想要的。 - bobsmells
非常感谢。你为什么要将它们列在 Bundle 中?你并不需要 Bundle。你将 Bundle 添加到目标中了吗?希望你也没有添加文件。你只需要添加 Bundle 即可。 - Fab1n
显示剩余2条评论
1个回答

4

已知在Xcode压缩PNG文件时存在问题。我曾经提交过一个应用程序到App Store,但它被拒绝了,因为它有损坏的PNG文件 - 但事实上并不是这样。结果发现是Xcode在构建时破坏了它们。

也许这就是同样的问题。

前往项目 -> 构建设置,尝试将“压缩PNG文件”设置为“否”。


当然,这可能会使您的应用程序变得更大,因为您说您有大约300张图片。 - Trenskow
1
是的,抱歉我忘了提到我已经发现了这个解决方案,并且已经尝试将“压缩PNG文件”设置为“否”,但没有任何改变。 - bobsmells
这对我起作用了,但你是正确的,可能会使应用程序变得更大。 - WiseGuy
还要记住,Mac OS X文件系统是不区分大小写的,而iOS文件系统则不是。 - Trenskow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接