Xcode和资产目录 爱还是不爱?


我从来没有参加过WWDC,但每年当 .时我都会非常兴奋。 会议视频的时候,我都会兴奋不已。 那我最兴奋的是什么呢? 的是什么? 不,不是Passbook,不是iCloud,也不是那些大件的东西。 是的,我喜欢 。 小东西。 简单的东西。 这些东西可以改善我的 。 日子和 修复 不断发现恼人的事情

今年,这个东西就是资产目录。

为什么是资产目录?嗯,很简单。自从我们得到了iPhone 4的 所有它的视网膜的荣耀,我总是发现它令人沮丧的管理 。 保留每个图形的两个版本。(原版和它的 双分辨率版本)。这里面有太多的单调了。

  1. 我需要在Xcode中把所有的文件配对在一起,以正确的 顺序。(部分是由于强迫症,部分是由于基本的组织。)
  2. 我需要确保它们的名字完全相同。
  3. 如果我想重命名一个图像,我必须做两次。
  4. 我讨厌当文件夹不可避免地全部展开时占用项目导航器的空间。
  5. 我需要确保@2x正好是原始尺寸的两倍。(设计师们总是忽略这一点。)

可悲的是,资产目录并没有解决第5个问题,但它们确实在 .com方面帮助了我们很多。 其他四个问题,而且,这并不坏! 不过,在一个 .目录化的世界里,并非一切都很美好。 目录化的世界里,并不是所有的事情都是美好的,所以让我们来看看,好吗?

资产目录。

你不再需要费力地把你的图片放在 旁边了。 资产目录让你可以在XCode中把图片配对在一起(你*做了,对吗? 在一个地方指定视网膜和非视网膜版本。

现在,你只需将你的图片拖到目录中,然后将 它们的台面就在它们旁边。 它们也仍然是文件,只是 右键单击并在Finder中显示它们就可以了。 这很可爱! 它还 。 减轻了保持命名同步的需要,因为它们共享一个 名称。

更妙的是,你不再需要管理五十亿个 的命名。 所有不同的设备型号和iOS版本的图标图像。 有。(而且没有单一的标准。)你只需指定要 使用你的资产目录,它就会为你找到所有合适的尺寸。

作为额外的奖励,浏览你的所有图片要容易得多 。 并确保你有两个版本! 这对早于视网膜的旧 .com项目来说真的很好。 项目来说是非常好的,尽管你仍然需要迁移到 。 资产目录。 在过去的日子里,验证视网膜图像 涉及到你滚动浏览文件名列表时的敏锐目光。

**!

资产目录。

糟糕? 它们怎么会是坏的呢? 我们已经看到了资产目录如何 保持图像文件的组织性,正确的命名,并易于查看。 你还能增加什么呢?

嗯,有一些东西我们失去了。 你不能再 Command-Shift-O来寻找一个图像。 试试吧。 现在,你为什么要 要这样做? 嗯,有时我在爬行代码时发现代码 正在加载一个图像。

UIImage *buttonImage = [UIImage imageNamed:@"btn_clear"];

嗯,那是什么图像,让我们用命令-Shift-O和...哦。 没有图像。 I 发现这在以前非常有用。 现在,如果你想搜索一个 图像,你需要打开你的资产目录,在左下角的 字段中进行搜索。

这并不难,但它很笨重,涉及多个步骤。 我真的 。 希望他们有一天能把这个加入到索引器中。 还有一件事,如果 。 你熟悉这个搜索,那么你就知道我在说什么,你有没有 注意到这个搜索错误吗? 是的,希望它是暂时的,但Xcode会 。 往往会将你的搜索永远地坚持下去。 在你面前有Xcode吗? 输入一个 资产搜索,清除它,在项目导航器中点击另一个文件,然后 再次点击资产目录。

好耶! 你又被锁定在你的搜索中了! Ugg。 修复它,苹果公司!

最后一个怪癖

资产目录的另一个小烦恼,希望将来会改变,就是 测试飞行 仍然希望在你上传的应用程序中看到一个Icon.png文件。 唯一的 的方法是在Xcode中包含一个单独的图标图像,并在plist中添加一个 图标的条目回到plist中。

我相信这个问题在未来也会得到解决,但现在如果你使用TestFlight,你应该保持 使用TestFlight,你应该保留一个普通的图标文件。