首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到AppIcon

找不到AppIcon
EN

Stack Overflow用户
提问于 2020-10-21 18:41:17
回答 3查看 1.9K关注 0票数 1

我有一个旧的应用程序,我正在努力推广,我碰到了一个应该是简单的东西,应用图标的墙。

这是一个超级简单的基于网络的应用程序,所以我用一个更新的模板重新制作了这个项目,它构建得很好,所有的东西,但应用图标没有进入。

当我试图将我的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文件的样子:

代码语言:javascript
复制
{
    "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文件中是这样的:

代码语言:javascript
复制
    <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>

文件应该在哪里,而我只是不知所措。我也尝试重命名图像没有破折号,这也没有工作。

我有所有需要的图像,所以我不知道为什么应用程序找不到它。

我甚至使用了另一个应用程序的图标设置,该应用程序正在工作,但仍然什么也没有。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-10-28 15:31:58

经过大量的理发和词汇选择,我让它起作用了。

问题是,我使用的是一个共享层,它拥有所有的视图控制器和业务逻辑,该项目的内部是一个Assets.xcassets文件夹,其中有一些共享的图形,当我删除该文件夹并进行重建时,我的应用程序图标返回并上传了应用程序。

因此,对于使用共享层存储业务逻辑的任何人来说,不要有多个Assets.xcassets文件夹,因为它们会重叠在您身上。

票数 1
EN

Stack Overflow用户

发布于 2020-10-22 06:36:26

我发现filename有一些错误。

通常是,由Icon-scale*size.png定义的filename,但是您的文件名包含更多的@3x/@2x

因此,可以按以下方式修改filename

代码语言:javascript
复制
{
  "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================================

代码语言:javascript
复制
<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">
票数 1
EN

Stack Overflow用户

发布于 2021-12-16 03:59:13

每次我必须向AppStore提交更新时,我似乎都会遇到这个问题,而且每次解决方案是不同的。如果我只需要花几个小时在上面,我就算幸运了。这一次,这与Xamarin放置IPA文件的文件夹有关。如果把它放在这里的某个地方:

代码语言:javascript
复制
MyApp\MyApp.iOS\bin\iPhone\Ad-Hoc\device-builds\iphone12.8-14.2

那我就知道错误了。如果是这样的话:

代码语言:javascript
复制
MyApp\MyApp.iOS\bin\iPhone\Ad-Hoc

然后图标就在那里,它可以工作。我不知道到底是什么决定了它的去向,我的猜测是,如果您在调试配置中对测试设备进行了构建,然后切换到即席测试设备,它认为它仍然在为设备构建,因此不包括图标(因为除非您正在上传到AppStore,否则不需要它)。因此,在构建发布候选版本之前,关闭VS,重新打开并重新连接Mac。

然而,似乎有多种因素会导致这一问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64469773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档