繁体   English   中英

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

[英]Pixelated images on iOS10 when building with Xcode 10

根据我的测试,我只在制作存档并将其上传到 Fabric 或 iTunesConnect 时才会遇到这个问题。 在模拟器和真实设备上调试都可以。 我试过pdf和png。 我尝试在资产目录中更改压缩类型。

左边存档,右边调试

左边存档,右边调试

创建 ButtonBarItem 图片的说明

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

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

如果这不会产生预期的结果,您会在此处找到有关如何进一步挖掘的一些提示。

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

当您提交到应用程序商店时,会启动一个称为 App Thinning 的过程,该过程会为不同的实际设备创建变体。 然后还会发生图像压缩之类的事情。

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

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

如何在本地做App Thining

  • 在 Xcode 中选择 <Product/Archive>
  • 打开 <窗口/管理器>
  • 对于创建的档案,选择右侧的“分发应用程序”
  • 从工作表中选择“Ad Hoc”
  • 从 App Thinning 组合中选择您的型号或“所有兼容的设备变体”
  • 在下一个对话框中选择“自动管理签名”
  • 然后需要一些时间
  • 然后选择“导出”并保存

提取资产.car

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

从 Asset.car 中提取图像

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

它的名称应该类似于“XXX-ABC-ZZZ-Normal@2x.png”,并且分辨率应该是 44x44,因为它有 2x 比例。

更多信息:

看看这个 WWDC 2018 视频:Session 227,Optimizing App Assets, https://developer.apple.com/videos/play/wwdc2018/227/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM