如果应用程序支持iOS 8或更早版本,Assets.car无法包含16位或P3资源?

35

上传到iTunesConnect时,是否遇到了这个错误。上传进程到“正在验证与iTunes Store的资产”,然后我收到以下错误:

图片描述

我正在使用xCode8,在现有iOS应用程序中嵌入自定义贴纸应用程序。 我已暂时删除贴纸资产并包含苹果示例消息图标以测试是否是我的贴纸资产导致问题,但是在验证时仍然收到相同的错误。 有任何想法吗?


请不要上传文本错误消息的图像。只需在此处引用文本,并进行适当格式化。 - Martin Nyolt
14个回答

0

此外,作为我之前发布的补充,请执行以下操作:

这个步骤适用于所有照片 在预览应用程序中打开每张或所有照片 单击“工具”>“调整大小”>然后将dpi设置为72
和“工具”>“分配配置文件”>然后选择通用RGB配置文件


0
如果您需要暂时解决这个问题,只需将其最低开发目标增加到iOS 9.0,这个问题就会得到解决。

请注意在“部署信息”下检查TARGET的部署目标(而不仅仅是“项目”部署目标)。 - Nublodeveloper
请确保应用程序中使用的所有图像资产都支持8位。转到资源目录,选择资源并在Adobe Photoshop中打开-->选择图像-->选择模式-->如果是16位,请将其更改为8位-->保存图像并继续。 - Masroor

0
我的答案很简单,找到16位色彩图像并转换为8位深度的彩色图像。如果不是16位的,就不会再次转换,因为sips -m ...不是幂等的,这意味着当在同一图像文件上再次执行时,转换后的图像将再次被修改。
# before run the commands, cd to the folder which includes all suspicious images.
while IFS= read -d '' -r file; do if [ $(file "$file" | grep -c '16-bit') -eq 1 ]; then sips -m '/System/Library/Colorsync/Profiles/sRGB Profile.icc' "$file"; fi done < <(find . -print0)

请更加清晰明了,将其保存为以下的Bash shell文件:

#/bin/bash

# Before run the shell script, 
# cd to the folder which includes all suspicious images

while IFS= read -d '' -r file; do 
  if [ $(file "$file" | grep -c '16-bit') -eq 1 ]; then
    sips -m '/System/Library/Colorsync/Profiles/sRGB Profile.icc' "$file"; 
  fi 
done < <(find . -print0)

0

通过终端一条命令修复:

find . -type f -name '*.png' -print0 | while IFS= read -r -d '' file; do sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' "$file" --out "$file"; done

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接