Jam*_*ton 35 upload assets itunesconnect testflight xcode8
上传到iTunesConnect时是否有人遇到此错误.上传进程获取"使用iTunes商店验证资产"我得到以下错误:
我正在使用xCode8,在现有iOS应用程序中嵌入自定义贴纸应用程序.我暂时删除了贴纸资产,并包含苹果样本消息图标,以测试是否是导致问题的贴纸资产,但是在验证时我收到相同的错误.有什么想法吗?
fan*_*ncy 36
简而言之: 您的捆绑包中的图片具有不受支持的格式.您可以调整这些图像的格式,也可以增加目标的最低iOS版本.请记住,后者只是一个修补程序,可能不是您想要做的,因为它会因为一个非常可解决的问题而减少您的潜在用户群.
第1部分将解释如何找出哪些图片是有问题的图片.
第2部分介绍如何调整图片格式,以便iTunesConnect对此感到满意.如果您只有少量图像,则可以跳到第2部分并手动检查它们.
第1部分:识别有问题的图像:
Apple开发者论坛有一个主题:https: //forums.developer.apple.com/thread/60919
接受的解决方案如下:
如何解决"ERROR ITMS-90682:无效的捆绑包 - 如果应用程序支持iOS 8或更早版本,则'Payload/XXXXX/Assets.car'的资产目录不能包含16位或P3资产."
使用Xcode 8 GM,如果您在针对iOS版本早于iOS 9.3的应用提交中包含16位或P3资源,则会出现此错误.如果您的应用需要广泛的颜色功能,则必须将部署目标更改为iOS 9.3或更高版本.如果您的应用程序不需要广泛的颜色功能,并且您希望将其部署到较旧的iOS版本,那么您应该用8位sRGB资产替换所有16位或P3资产.
您可以通过在iTunes Connect的错误消息中指定的资产目录上运行"assetutil"来查找16位或P3资产.以下步骤概述了该过程:1.创建Inspectable .ipa文件.在Xcode Organizer(Xcode-> Window-> Organizer)中,选择要检查的存档,单击"Export ...",然后选择"Export for Enterprise或Ad-Hoc Deployment".这将创建一个本地副本.应用程序的ipa文件.2.找到.ipa文件并将其扩展名更改为.zip.3.展开.zip文件.这将生成一个包含.app包的Payload文件夹.4.打开终端并更改工作目录到.app包的最高级别cd path/to/Payload/your.app
使用find工具在.app包中找到Assets.car文件,如下所示:find.-name'Assets.car'
使用assetutil工具在应用程序的每个Assets.car中查找任何16位或P3资产,如下所示.:sudo xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car> /tmp/Assets.json
检查生成的/tmp/Assets.json并查找包含"DisplayGamut"的任何内容:"P3"及其关联的"名称".这将是包含一个或多个16位或P3资产的图像集的名称.
用8位/ sRGB资产替换这些资产,然后重建您的应用程序.
第2部分:调整图像的颜色配置文件,以便与iTunesConnect配合使用
打开违规文件(CMD + I)的"信息".检查颜色配置文件.
我不知道哪些配置文件完全正常,哪些不是,但我的"Adobe RGB(1998)"肯定被拒绝了.所以我使用了"Color Synch Utility"(OSX附带).(右键单击图像,打开...)
现在替换以前的图像,然后重试.这对我有用,我希望这会对你有所帮助.
小智 25
感谢@fancy的回答我明白这个问题出现在图像属性"space"中,其值为RGB 16bit.它需要更改为8位sRGB.我必须支持iOS7客户端,所以我不能只将部署目标更改为9.3.
所以我做了什么:1)我使用简单的脚本(见下文)递归查找所有*.png图像并更改属性.2)然后我重建了.ipa文件.Application Loader没有显示任何错误.
#!/bin/sh
files=`find . -name "*.png"`
for i in ${files[@]}; do
SOURCE_FILE=${i}
DESTINATION_FILE=$SOURCE_FILE
sips \
--matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' \
"$SOURCE_FILE" \
--out "$DESTINATION_FILE"
done
exit 0
Run Code Online (Sandbox Code Playgroud)
受Ignacio的启发,我已经能够使用以下脚本将所有AdobeRGB1998图像转换为sRGB图像
安装imagemagick
brew update
brew install imagemagick --with-little-cms --with-little-cms2
Run Code Online (Sandbox Code Playgroud)
查找图像并将其转换为sRGB配置文件
cd path>to>Images.xcassets>folder
find . -name '*.png' -exec convert "{}" \
-profile "/System/Library/ColorSync/Profiles/AdobeRGB1998.icc" \
-profile "/System/Library/ColorSync/Profiles/sRGB Profile.icc" \
"{}" \;
Run Code Online (Sandbox Code Playgroud)
如果您的Mac上没有AdobeRGB1988.icc
考虑在此处下载AdobeRGB1998 https://www.adobe.com/support/downloads/iccprofiles/iccprofiles_mac.html https://www.adobe.com/digitalimag/adobergb.html
| 归档时间: |
|
| 查看次数: |
6827 次 |
| 最近记录: |