我有一个旧的应用程序,我正在努力推广,我碰到了一个应该是简单的东西,应用图标的墙。
这是一个超级简单的基于网络的应用程序,所以我用一个更新的模板重新制作了这个项目,它构建得很好,所有的东西,但应用图标没有进入。
当我试图将我的ipa上传到商店时,我会收到以下消息:
ERROR ITMS-90022:“缺少所需的图标文件。该捆绑包不包含iPhone / iPod触摸的应用图标,其格式为”120x120“像素,为iOS版本>= 10.0提供.png格式。要支持较早版本的iOS,可能需要在资产目录外的绑定包中使用该图标。确保Info.plist文件中包含引用该文件的适当条目。请参见https://developer.apple.com/documentation/bundleresources/information_property_list/user_interface" ERROR ITMS-90704:”缺少app。在为iOS、iPadOS或watchOS构建的应用程序目录中,必须包含一个1024×1024像素的PNG格式的应用图标。没有这个图标,应用程序就不能提交审查。有关详细信息,请参阅https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/app-icon/."
下面是我的Contents.json文件的样子:
{
"images":[
{
"idiom":"iphone",
"size":"20x20",
"scale":"2x",
"filename":"Icon-App-20x20@2x.png"
},
{
"idiom":"iphone",
"size":"20x20",
"scale":"3x",
"filename":"Icon-App-20x20@3x.png"
},
{
"idiom":"iphone",
"size":"29x29",
"scale":"1x",
"filename":"Icon-App-29x29@1x.png"
},
{
"idiom":"iphone",
"size":"29x29",
"scale":"2x",
"filename":"Icon-App-29x29@2x.png"
},
{
"idiom":"iphone",
"size":"29x29",
"scale":"3x",
"filename":"Icon-App-29x29@3x.png"
},
{
"idiom":"iphone",
"size":"40x40",
"scale":"2x",
"filename":"Icon-App-40x40@2x.png"
},
{
"idiom":"iphone",
"size":"40x40",
"scale":"3x",
"filename":"Icon-App-40x40@3x.png"
},
{
"idiom":"iphone",
"size":"60x60",
"scale":"2x",
"filename":"Icon-App-60x60@2x.png"
},
{
"idiom":"iphone",
"size":"60x60",
"scale":"3x",
"filename":"Icon-App-60x60@3x.png"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"scale" : "1x",
"filename" : "ItunesArtwork@2x.png"
}
],
"info":{
"version":1,
"author":"xcode"
}
}这在我的csproj文件中是这样的:
<ItemGroup>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-20x20@1x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-20x20@2x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-20x20@3x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-29x29@1x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-29x29@2x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-29x29@3x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-40x40@1x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-40x40@2x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-40x40@3x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-60x60@2x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-60x60@3x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-76x76@1x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-76x76@2x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-83.5x83.5@2x.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\ItunesArtwork@2x.png">
<Visible>false</Visible>
</ImageAsset>
</ItemGroup>文件应该在哪里,而我只是不知所措。我也尝试重命名图像没有破折号,这也没有工作。
我有所有需要的图像,所以我不知道为什么应用程序找不到它。
我甚至使用了另一个应用程序的图标设置,该应用程序正在工作,但仍然什么也没有。
发布于 2020-10-28 15:31:58
经过大量的理发和词汇选择,我让它起作用了。
问题是,我使用的是一个共享层,它拥有所有的视图控制器和业务逻辑,该项目的内部是一个Assets.xcassets文件夹,其中有一些共享的图形,当我删除该文件夹并进行重建时,我的应用程序图标返回并上传了应用程序。
因此,对于使用共享层存储业务逻辑的任何人来说,不要有多个Assets.xcassets文件夹,因为它们会重叠在您身上。
发布于 2020-10-22 06:36:26
我发现filename有一些错误。
通常是,由Icon-scale*size.png定义的filename,但是您的文件名包含更多的@3x/@2x。
因此,可以按以下方式修改filename:
{
"images": [
{
"filename": "Icon-App-40.png",
"size": "20x20",
"scale": "2x",
"idiom": "iphone"
},
{
"filename": "Icon-App-60.png",
"size": "20x20",
"scale": "3x",
"idiom": "iphone"
},
{
"filename": "Icon-App-58.png",
"size": "29x29",
"scale": "2x",
"idiom": "iphone"
},
{
"filename": "Icon-App-87.png",
"size": "29x29",
"scale": "3x",
"idiom": "iphone"
},
{
"filename": "Icon-App-80.png",
"size": "40x40",
"scale": "2x",
"idiom": "iphone"
},
{
"filename": "Icon-App-120.png",
"size": "40x40",
"scale": "3x",
"idiom": "iphone"
},
{
"filename": "Icon-App-120.png",
"size": "60x60",
"scale": "2x",
"idiom": "iphone"
},
{
"filename": "Icon-App-180.png",
"size": "60x60",
"scale": "3x",
"idiom": "iphone"
},
{
"filename": "Icon-App-1024.png",
"size": "1024x1024",
"scale": "1x",
"idiom": "ios-marketing"
}
],
"info": {
"version": 1,
"author": "xcode"
}
}注意:也可以在没有-的情况下定义-,例如Icon40.png。
=================================Update================================
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon1024.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon180.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon167.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon152.png">
<Visible>false</Visible>
</ImageAsset>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon120.png">发布于 2021-12-16 03:59:13
每次我必须向AppStore提交更新时,我似乎都会遇到这个问题,而且每次解决方案是不同的。如果我只需要花几个小时在上面,我就算幸运了。这一次,这与Xamarin放置IPA文件的文件夹有关。如果把它放在这里的某个地方:
MyApp\MyApp.iOS\bin\iPhone\Ad-Hoc\device-builds\iphone12.8-14.2那我就知道错误了。如果是这样的话:
MyApp\MyApp.iOS\bin\iPhone\Ad-Hoc然后图标就在那里,它可以工作。我不知道到底是什么决定了它的去向,我的猜测是,如果您在调试配置中对测试设备进行了构建,然后切换到即席测试设备,它认为它仍然在为设备构建,因此不包括图标(因为除非您正在上传到AppStore,否则不需要它)。因此,在构建发布候选版本之前,关闭VS,重新打开并重新连接Mac。
然而,似乎有多种因素会导致这一问题。
https://stackoverflow.com/questions/64469773
复制相似问题