5 用 find 命令定位到 Assets.car 文件 .app bundle , 形式如下: find . -name 'Assets.car'
6 使用 assetutil 命令找到任何包含着 16-bit or P3 的资源文件, 对每个 Assets.car 执行以下命令 : sudo xcrun --sdk iphoneos assetutil --info Assets.car> /tmp/Assets.json 回车之后会让你输入密码 输入密码回车即可
7.open /tmp/Assets.json 打开上一步生成的 /tmp/Assets.json 文件并查找包含有 “DisplayGamut": “P3” 或者相关的内容. 这段json的"Name"字段对应的值就是16位或显示的γ值为P3的资源文件名.
以下这种就是正常的 "BitsPerSample" : 8, "DisplayGamut" : "sRGB",
{
"Compression" : "lzvn",
"BitsPerSample" : 8,
"LayoutDirection" : "0 - Horizontal",
"AssetType" : "Image",
"ColorModel" : "RGB",
"Name" : "nav_use_p",
"PixelWidth" : 360,
"Graphics" : "GLES2,0",
"Subtype" : 0,
"PixelHeight" : 112,
"SizeClass Horizontal" : "universal",
"EdgeInsets" : "top:0 left:0 bottom:0 right:0",
"Scale" : 3,
"Memory" : "512MB",
"Opaque" : false,
"DisplayGamut" : "sRGB",
"Idiom" : "universal",
"Encoding" : "ARGB",
"Image Type" : "kCoreThemeOnePartScale",
"SizeClass Vertical" : "universal"
},
以下这种情况就是不正常的 "BitsPerSample" : 16, "DisplayGamut" : "P3",
{
"Compression" : "lzvn",
"BitsPerSample" : 16,
"LayoutDirection" : "0 - Horizontal",
"AssetType" : "Image",
"ColorModel" : "RGB",
"Name" : "iPhone6Plus",
"PixelWidth" : 1242,
"Graphics" : "GLES2,0",
"Subtype" : 0,
"PixelHeight" : 2280,
"SizeClass Horizontal" : "universal",
"EdgeInsets" : "top:0 left:0 bottom:0 right:0",
"Scale" : 2,
"Memory" : "512MB",
"Opaque" : true,
"DisplayGamut" : "P3",
"Idiom" : "universal",
"Encoding" : "ARGB-16",
"Image Type" : "kCoreThemeOnePartScale",
"SizeClass Vertical" : "universal"
},
全局搜索含有 "BitsPerSample" : 16的图片 在工程中找到所对应的图片 让UI重新切图 替换掉即可 新包已经把俩张问题图片替换掉了 用9.2系统 iphone试了下 完全没有问题 OK 问题解决