如何将JPEG添加到Xcode中的资产目录?

是否可以将除PNG文件以外的资产添加到Xcode资产目录?

将JPEG文件拖放到资源目录中时,它们不会被用户界面接受。

您可以通过手动编辑资产的JSON表示来添加非PNG资产。 最简单的方法是复制现有资产并对其进行修改:

  1. 右键单击现有资产并selectShow in Finder
  2. 复制并粘贴现有的.imageset项目并重命名它,例如my_image.imageset
  3. 双击新的.imageset
  4. 删除文件夹中的所有现有图像
  5. 复制您的JPEG文件
  6. 编辑Contents.json文件,用您的JPEG文件名replacefilename键的值

你的Contents.json看起来像这样:

 { "images" : [ { "idiom" : "universal", "scale" : "1x", "filename" : "my_image.jpg" }, { "idiom" : "universal", "scale" : "2x", "filename" : "my_image@2x.jpg" } ], "info" : { "version" : 1, "author" : "xcode" } } 

请务必按名称引用您的图片,不得扩展名:

 [UIImage imageNamed:@"my_image"] 

这种方法适用于GIF和其他资产,因为它们只是在构build时被复制到应用程序的主包中。 值得注意的是,当复制到包时,图像最终会带有png扩展名,但是它们仍然可以正确加载。

从Xcode 6.1开始,JPG图像现在可以添加到资产目录中。 添加的步骤是:

  1. 使用与PNG相同的命名约定以期望的质量导出JPG( heart.jpg heart@2x.jpg heart@3x.jpg
  2. 将JPG从Finder拖放到您的资产目录中,并将任何拼接或设备特定设置添加到资产
  3. 将所有JPG文件的“渲染为”更改为“原始图像”(否则它们将在模拟器和设备上显示为空白)

现在您可以在Xcode 6.0 Beta中拖放JPEG了

在Xcode 6.x中,您可以将jpegs拖放到资产目录。 如果从资产创buildUIImage,请确保使用.jpg扩展名,如下所示:

 [UIImage imageNamed:@"myimage.jpg"]; 

如果不包括扩展名,图像将显示为白色/空白。

如果您不想更改Contents.json文件,也可以将image.jpg重命名为image.png。 然后,您可以将图像添加到资产目录,即使在内部它们仍然是jpeg文件。 你甚至可以使用Xcode切片。

编译应用程序时,所有资产都将进入Assets.car文件。 我还没有validation,如果在这一点上,他们得到转换为PNG。

尝试这个。 快速导入资源脚本以解决导入速度和重命名问题。 https://github.com/qdvictory/happyxcasset