苹果发布了新版本的iTunes Connect,当我尝试为我的应用在iTunes连接上设置屏幕截图时,出现错误消息。

"Images can't contain alpha channels or transparencies." 




评论

iTunes Connect开发人员指南中未提及该内容:developer.apple.com/library/ios/documentation / ...

只需将图像转换为对我有用的JPG格式!

我自己写的第一个图像上传器可以采用任何大小的jpeg,png或gif,正确旋转,然后输出所需压缩级别的jpeg。显然,我可以使图像上载器,而Apple不能。与苹果公司不同,我从来没有梦想过要用户强制“哦,只需手动从PNG剥离alpha!为每张图片!”。

当iTunes Connect不允许时,xcode允许这样做很可惜。

在这里尝试简单的步骤

#1 楼

不允许使用具有透明性的AFAIK png。使用jpg或更新您的png(photoshop或用于创建png的任何东西)并删除透明区域。如果要处理阴影,请使用jpg,这不会让人头疼。

评论


也为我工作。

–蜂蜜
2014年9月5日在11:22

JPEG有损,这是一个可怕的想法。查看其他答案,并适当删除透明度。

–鲁道夫·亚当科维奇
2014年9月16日上午10:18

只需在预览中打开并导出为JPEG即可解决此问题。 XCode的设备屏幕截图保存在PNG中,这就是问题所在。使用设备拍摄屏幕(主页按钮+电源按钮)以JPEG格式保存。

–Anna Billstrom
2014年12月20日在18:24

您可以在预览中导出为不带alpha的PNG。只需打开图像,选择导出,选择PNG,取消选中Alpha,然后单击保存。如果您一次打开所有图像,预览版还支持批量导出。

–拉塞尔·拉德(Russell Ladd)
2015年1月7日在6:23



好的答案,但我注意到.jpg效果不佳,所以我只是在Photoshop中打开图像并设置背景层并设置其白色,以便去除图像透明度并将此图像用作PNG。

– Nitin Gohel
15年3月30日在5:12

#2 楼

我发现您也可以在预览中重新导出png,但是在保存时取消选中Alpha复选框。



评论


考虑到他们推荐您这样做,iTunes Connect不接受Xcode生成的屏幕截图是很荒谬的。

–多伦多
2014年11月8日在21:09

由于某些莫名其妙的原因,当我这样做时,它会将尺寸切成两半,现在对于iTC来说是“错误的尺寸”! WTF苹果???

– har
2014年12月19日在23:53

可以理解的是,手头仅有$ 178B的现金,Apple无法承担解决这个愚蠢的bug的麻烦,并且需要成千上万的开发人员一次又一次地繁琐地执行此操作。啊。

–内特
2015年2月5日,下午3:47

我可以给这个人100票来解决我的问题吗

– Noor
2015年4月21日在17:15

双击照片“文件”->“导出...”

– Arjay Waran
17年6月28日在1:27

#3 楼

如此简单...

在“预览”应用中打开图像,单击“文件”->“导出”,然后
取消选中alpha

评论


这在Mac OS High Sierra上不起作用,请尝试使用较低版本导出而不使用Alpha。希望它能帮助某人。

– Satheesh
17年12月19日在10:36

非常简单的解决方案。谢谢!

– Lina T
18年6月21日在22:45

在卡塔利娜州工作。用白色替换所有透明度。

–马西
20-2-23在19:05

#4 楼

为此,我做了一个新的简单工具。您可以在几秒钟内删除多个.png文件的alpha通道(透明度)。



您可以从此处下载http://alphachannelremover.blogspot.com

评论


谢谢。我讨厌苹果公司在捕获,保存屏幕快照并将其发送到iTunesConnect商店的过程中又增加了一步。

–安德鲁·史密斯(Andrew Smith)
2014年9月24日下午16:28

该工具非常简单,但非常有用。否则,我不得不花时间使用Apple的Preview App逐个删除透明度,这非常耗时。现在,只需一次拍摄就可以制作多个文件。

– bpolat
2014年9月24日20:18在

非常方便,谢谢!对于苹果公司拥有的所有程序员,您都认为他们可以自动剥离Alpha通道。我发誓我上传的所有图标都没有任何透明度,但是提交失败只是因为它们以允许透明的格式保存。叹

– devios1
2014年11月13日在22:54

别客气。实际上,由于我在将应用程序提交给Apple时感到沮丧,因此我为自己编写了该程序,然后决定与社区共享它。它是github上的开源代码,您可以查看代码或使用自己喜欢的代码。

– bpolat
2014年11月13日22:58

完善!你今天救了我一两个小时。经过重新设计,有475张图片要上传!

–南希
15年2月4日在16:37

#5 楼

使用mogrify软件包中的ImageMagick工具删除Alpha通道。

brew install imagemagick
cd folder_with_images
mogrify -alpha off */*.png


从5月3日开始更新

您可以通过运行来判断图像是否包含Alpha通道。 :

sips -g all image.png


如果在iOS Simulator中渲染屏幕截图,则可以通过将BOOL opaque = YES传递给UIGraphicsBeginImageContextWithOptions来删除Alpha通道:

UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0); 


评论


可以使用命令sips -g hasAlpha * .png来实现较短的输出以检查alpha。

–安东·马托索夫(Anton Matosov)
2015年12月27日在7:15



迁移-alpha off👍

–系统
18年7月14日在18:08

#6 楼


将照片上传到iTunes Connect时,必须删除Alpha通道。

您可以通过Preview,Photos App(旧iPhoto),Pixelmator,Adobe Photoshop和GIMP进行此操作。
预览


在“预览”中打开照片(如果照片在“照片”应用(旧的iPhoto)的相册中,则只需将其从相册拖到桌面即可。 (在鼠标上单击鼠标右键)复制的照片,然后在“打开方式”菜单下选择“ Preview.app”。


在“文件”菜单下选择“导出...”,然后选择目标位置,然后取消选中“单击底部,然后单击导出。




Pixelmator


在Pixelmator中打开图像,而无需创建新的Pixelmator文件。只需将照片拖到Pixelmator窗口即可。


从“共享”菜单中,单击“导出为Web”…



在顶部栏,取消选择透明度。


,单击“下一步”,然后将新文件保存在某个地方。


最后,将新照片上传到iTunes Connect。 br /> GIMP


在GIMP中打开照片。


打开“图层”菜单。


在透明度下,单击删除Alpha通道。


保存照片。


Adob​​e Photoshop



在Adobe Photoshop中打开照片。


在“图层”菜单下,单击“图层蒙版”,然后单击“从透明度”。


按右删除图层蒙版单击“图层”面板中的遮罩,然后选择“删除图层遮罩”。



评论


这在Mac OS High Sierra上不起作用,请尝试使用较低版本导出而不使用Alpha。希望它能帮助某人。

– Satheesh
17年12月19日在10:37

#7 楼

如果您使用的是Photoshop,请转到“文件”>“保存为Web”(命令+选项+ Shift + S)。确保未选中透明度,这应该可以工作。

评论


奇怪。这适用于单个图像。但是,当我尝试保存操作并执行批量导出时,生成的图像仍然具有Alpha。

– kelin
17年8月28日在22:29

#8 楼

在2019年仍然是一个问题:=)

这对我有用:
选择要上传的所有图像->右键->在预览中打开->导出->取消选中Alpha->使用导出的图像。

#9 楼

扩展罗马B.答案。这仍然是一个问题,我上载了cordova应用。我的解决方案使用mogrify

brew install imagemagick
* navigate to `platforms/ios/<your_app_name>/Images.xcassets/AppIcon.appiconset`*
mogrify -alpha off *.png


,然后成功存档并验证。 👍

评论


非常感谢!

–FortuneCookie
20 Dec 15 '14:40

#10 楼

在Pixelmator上,可以使用“共享>导出为Web ...”(⇧+⌘+ E)



,然后在工具选项栏中取消选择透明度。



#11 楼

我也遇到同样的问题,只是在线上将您的png文件压缩到https://tinypng.com/,然后尝试上传该新的压缩png文件。

它对我有用。

评论


这对我不起作用-它仍然具有Alpha通道

–安德鲁(Andrew)
16年4月13日在15:26

#12 楼

我能够使用imageoptim删除Alpha通道并压缩png文件。

#13 楼

您可以使用标志“ -c 2”从命令行使用pngcrush从PNG文件中删除Alpha通道:

$ file input.png
input.png: PNG image data, 1024 x 1024, 8-bit/color RGBA, non-interlaced
$ pngcrush -q -c 2 input.png output.png
libpng warning: iCCP: known incorrect sRGB profile
$ file output.png
output.png: PNG image data, 1024 x 1024, 8-bit/color RGB, non-interlaced


注意从RGBA更改为RGB :Alpha频道已消失!

pngcrush位于http://pmt.sourceforge.net/pngcrush/

#14 楼

面对同样的问题,尝试使用JPG格式!在这里对我有用的是使用jpg文件而不是PNG,因为jpg文件不使用Alpha或透明度功能。我是通过在线图像转换器完成的,或者您也可以在预览中打开图像,然后打开File-> Export并取消选中alpha作为保存图像并使用此图像的选项。

#15 楼

为了解决这个问题,我使用fireworks将png32文件批量转换为png24,以便快速,轻松地上传。 Jpeg也可以,但是有损。

#16 楼

面对同样的问题,请尝试使用JPG格式!!

#17 楼

Photoshop


对其进行切片
另存为Web
取消选中透明度


#18 楼

您可以在预览中导出为不带alpha的PNG。只需打开图像,选择导出,选择PNG,取消选中Alpha,然后单击保存。如果一次打开所有图像,预览版还支持批量导出。

#19 楼

如果安装了imagemagick,则可以将以下别名放入.bash_profile中。它将目录中的每个png转换为jpg,从而自动删除Alpha。您可以将生成的jpg文件用作屏幕截图。

alias pngToJpg='for i in *.png; do convert $i ${i/.png/}.jpg; done'


评论


jpg意味着质量下降,只有当我真的需要缩小尺寸时,我才这样做。

– Zsolt Szatmari
2015年2月1日,9:32

#20 楼

在这里对我有用的是使用jpg文件而不是PNG,因为jpg文件不使用Alpha或透明度功能。我是通过在线图像转换器完成的,或者您也可以在预览中打开图像,然后打开File-> Export并取消选中alpha作为保存图像并使用此图像的选项。

评论


是的,但是您在使用jpeg时遇到了麻烦。它们本质上是为“嘈杂”图像(如照片)设计的,但会导致在具有大量色块和笔直边缘(如屏幕截图)的图像上出现失真。

– JamEngulfer
2015年4月14日在10:15

#21 楼

您可以简单地创建一个新的Photoshop文档,并将其默认背景设置为“白色”,而不是“透明”。然后,将图像复制并粘贴到新创建的文档中并保存。

#22 楼

从Sketch导出

为避免透明,请确保没有任何图层超出画板范围。

#23 楼

将您的PNG图像转换为JPEG格式。

评论


iTunes Connect在某些情况下不接受jpeg。例如,iOS App图标必须为png。

–潮气
17-10-29在6:02