当我在app delegate中的applicationDidFinishLaunching事件中执行以下操作时,我的应用程序崩溃了:
_textures[mytex] = [[Texture2D alloc] initWithImage: [UIImage imageNamed:@"a.png"]];
但是当我用
替换@"a.png"
时
@"/Users/MyUserName/Desktop/MyProjectFolder/a.png"
一切正常。我已经尝试了a.png
资源的相对路径资料......但是没有一个能够工作。我怎样才能解决这个问题?我想对所有图像资源说@"a.png"
(特别是我在另一个应用程序中执行此操作...我直接使用示例代码)。
那个神奇的环境是什么?
谢谢!
答案 0 :(得分:7)
+[UIImage imageNamed:]
会查看您应用套装的资源以查找图片。如果将图像添加到Xcode,它将默认添加到项目的资源复制阶段。如果你想确保它被复制到你的应用程序包中,请查看Xcode编辑器左侧的列表,在目标下你将看到你的应用程序名称,在那之下你将看到几个构建阶段,只要{ {1}}出现在“复制包资源”阶段,你应该好好去。
答案 1 :(得分:1)
您需要确保将a.png作为资源导入xCode。如果您已经这样做,那么将其引用为“a.png”应该有效。