使用Xcode 10构建时在iOS10上的像素化​​图像

时间:2018-11-22 09:29:21

标签: ios uiimageview uiimage ios10

根据我的测试,我仅在进行存档并将其上传到Fabric或iTunesConnect时才遇到此问题。在模拟器和调试的真实设备上都可以。我尝试了pdf和png。我试图更改资产目录中的压缩类型。

归档在左侧,调试在右侧

Archive on the left, Debug on the right

1 个答案:

答案 0 :(得分:1)

用于创建ButtonBarItem图片的说明

  • 创建尺寸为22 x 22的PDF文件
  • 使用矢量工具绘制内容(不要将图像嵌入PDF)
  • 使用1pt或1.5pt的笔划宽度
  • 将PDF拖放到Assets.xcassets
  • 有三个比例尺的插槽,选择1x的左侧
  • 否则请不要更改默认设置

在构建时,XCode以1x,2x和3x比例创建正确的图像。

如果这不能产生理想的结果,您将在此处找到有关如何进一步挖掘的提示。

调试版本和最终版本之间有什么区别

当您提交到应用商店时,将启动一个名为“应用细化”的过程,该过程将为不同的实际设备创建变体。然后还会发生诸如图像压缩之类的事情。

等待构建App Store版本并不方便,但是您也可以在本地执行App Thinning并分析确切创建的映像版本。但是其中涉及一些手动步骤。

我们正在寻找的是从箭头PDF文件创建的.png文件。由于将多个图像压缩并组合成一个.car文件,因此我们还需要一个工具来从该文件中提取图像。可以使用GitHub上提供的名为“ Asset Catalog Tinkerer”的应用程序-但也可以使用软件包管理器Homebrew进行安装,请参见https://brew.sh。下面有更多详细信息。

如何在本地进行应用程序稀疏

  • 在Xcode中选择
  • 打开
  • 对于创建的存档,选择右侧的“ Distribute App”
  • 从工作表中选择“临时”
  • 从“应用程序精简”组合中选择您的型号或“所有兼容的设备变体”
  • 在下一个对话框中,选择“自动管理签名”
  • 那需要一些时间
  • 然后选择“导出”并保存

提取Asset.car

  • 在输出文件夹中,现在有一个文件“ App Thinning Size Report.txt”在文本编辑器中打开
  • 列出了所有针对不同设备生成的变体
  • 例如如果您的iOS 10为5s,它将列为[device: iPhone6,2, os-version: 10]
  • 相应的.ipa文件只是一个zip文件,可从命令行将其解压缩('unzip xxx.ipa')
  • 在提取的“有效载荷”文件夹中有该应用程序,在Finder中右键单击该应用程序,然后选择“显示包装内容”
  • 有一个名为“ Asset.car”的文件,其中包含以最终格式创建的图像

从Asset.car提取图像

  • 在命令行上使用自制程序安装Asset Catalog Tinkererbrew cask install asset-catalog-tinkerer
  • 从普通的Applications目录启动Asset Catalog Tinkerer
  • 使用打开“ Asset.car”
  • 选择“导出所有图像...”
  • 然后您可以在图像编辑器中查看最终图像

它的名称应为“ XXX-ABC-ZZZ-Normal@2x.png”,并且分辨率应为44x44,因为它的缩放比例为2x。

更多信息:

观看此WWDC 2018视频:第227节,优化应用程序资产,https://developer.apple.com/videos/play/wwdc2018/227/