资源拷贝选项【那些容易被忽略的细节】

问题引出

前段时间,一个朋友的项目出了bug,他找了很久也没有发现原因,迫于无奈向我求助。问题是这样的:他的项目中明明已经拖入了图片等资源,但在项目运行后却无法加载和显示。当时因为忙,匆匆的就帮他解决完问题(PS:还混到了一顿午饭)。但是后面我也不小心犯了这个错误,忽然发现这确实是大家容易忽视的一些重要细节,所以这里来系统的阐述一下。

问题原因

资源拷贝选项

如大家所见每次把图片等资源拖入到工程的时候总是会弹出一个选项,一般的开发者都会很少关注这个选项,直接会点击Finish跳过,但是往往这些忽略的细节会造就很多莫名的BUG。

PS:学习方法
其实这种问题很难百度谷歌到,这种问题的解决方式也很简单,有时候自己新建一个项目试一试就知道了

下面我就来试验并阐述一下这些选项的含义:

1.Copy items if needed:

试验:新建一个项目,将一张桌面图片拖入项目,首先我们尝试不勾选这个选项,然后在storyboard中拖入imageView,设置imageView显示的图片是它,然后我尝试性的移动原来在桌面上的原资源图片到另一个目录或者删除图片的时候,项目中imageView设置的图片就显示问号了,而且项目中图片名字也变成红色,此时应该就是找不到图片了。

结论:如字面意思所言,就是如果需要就拷贝这些选项。如果不勾选的话使用的就是原资源位置的图片,根本就没有存在于项目当中,所以原资源图片消失,项目中就找不到图片了。此时你肯定不相信了,那么你可以拖入图片到项目中的时候不勾选这个选项,然后去你项目文件夹中找找,看是否能找到这张图片。

2.Create groups与Create folder references

试验:看到folder这个单词就应该想到文件夹,把刚刚桌面上的图片放入一个文件夹内,如果勾选Create groups的时候我们发现,在main bundle中去查看拖入的图片,图片直接在main bundle中的根目录,如果是勾选Create folder references的话,根目录是这个文件夹,进入文件夹后才显示这张图片。

结论:拖入文件夹的时候,勾选folder后会在安装程序之后会在打包程序里面真正创建文件夹,如果勾选的是groups,看上去是文件夹,但是打包安装到用户手机上并不是真正文件夹。那么拖入单独的图片时候会是神马情况呢?拖入单独的一个图片这两个选项是没有任何区别的。原因嘛,你可以自己试试,自己琢磨出新知识真的是一件很快乐的事情。

3.Add to target

试验:和刚刚验证Copy items if needed一样,当拖入的时候不勾选这个选项的时候,storyboard和项目中都显示有图片了,但是运行后却神马图片都没有显示。

结论:勾选这个选项的含义就是是否需要将资源打包到main bundle中,如果不勾选就不会打包进去,程序安装之后资源就不会在手机或者模拟器上面。当然,你也可以到模拟器的main bundle中看看是不是打包进去了。

建议

资源拷贝选项建议

如果你还没有看懂这篇文章讲的神马,那现在我给出我的建议,如果没有什么特殊需要,那么开发中一般像我上图那样勾选各个选项就行,就能避免很多莫名其妙的错误。而且拖入资源的时候记住仔细看一看是否选项选择正确,因为上一次不知道什么原因,Xcode自动给我选到其他选项了,所以让我找了很久很久。

联系方式

如果你喜欢这篇文章,可以继续关注我,微博:极客汤米,欢迎交流。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容