Xcode 5支持iOS 5.0图标

qf9go6mv  于 2023-02-13  发布在  iOS
关注(0)|答案(7)|浏览(229)

我正在使用新的资产目录AppIcon为iOS 5(理论上)、6和7设置正确的图标。不幸的是,当我在iPad 1(iOS 5.1.1)上安装应用程序时,显示的图标不是正确的(它是从另一个图标升级而来的,当然是57x57的)。
我看到在创建资产目录之后,在Info.plist文件中添加了2个空条目:

  • Icon files (iOS 5)
  • CFBundleIcons~ipad

我读过很多“解决方案”,但没有一个对我有效:
其中一个解决方案是在plist中添加这些条目(并在项目中添加相应的图标):

<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>Icon.png</string>
            <string>Icon@2x.png</string>
            <string>Icon-72.png</string>
            <string>Icon-72@2x.png</string>
        </array>
        <key>UIPrerenderedIcon</key>
        <true/>
    </dict>
</dict>
<key>CFBundleIcons~ipad</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>Icon-Small</string>
            <string>Icon-Small-50</string>
            <string>Icon-72@2x.png</string>
            <string>Icon-72.png</string>
        </array>
        <key>UIPrerenderedIcon</key>
        <true/>
    </dict>
</dict>

但根本不管用。
我使用的是Xcode 5.0(5A1413)。
任何帮助都将不胜感激。

zbdgwd5y

zbdgwd5y1#

我终于找到了一个可行的解决方案。我不再使用资产目录。我把这些行放在我的info.plist文件中:

<key>CFBundleIconFile</key>
<string>Icon-57.png</string>
<key>CFBundleIconFiles</key>
<array>
    <string>Icon-72.png</string>
    <string>Icon-72@2x.png</string>
    <string>Icon-57.png</string>
    <string>Icon-57@2x.png</string>
    <string>Icon-60@2x.png</string>
    <string>Icon-60.png</string>
    <string>Icon-76@2x.png</string>
    <string>Icon-76.png</string>
    <string>Icon-29@2x.png</string>
    <string>Icon-29.png</string>
    <string>Icon-50@2x.png</string>
    <string>Icon-50.png</string>
    <string>Icon-40@2x.png</string>
    <string>Icon-40.png</string>
</array>
<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>Icon-72@2x.png</string>
            <string>Icon-57.png</string>
            <string>Icon-72.png</string>
        </array>
        <key>UIPrerenderedIcon</key>
        <true/>
    </dict>
</dict>

它现在就像一个魅力:)

z31licg0

z31licg02#

我已经找到了更好的解决方案工作在iOS 5与资产目录.
在Info.plist中设置(其他图标部分如CFBundleIcons会被Xcode生成并覆盖,因此将其留空):

<key>CFBundleIconFiles</key>
<array>
    <string>AppIcon57x57.png</string>
    <string>AppIcon72x72.png</string>
    <string>AppIcon57x57@2x.png</string>
    <string>AppIcon72x72@2x.png</string>
</array>

并在您的资源(外部资源)中再添加两个图标:

AppIcon72x72.png
AppIcon72x72@2x.png

这样,您的包中只有两个重复的图标。
问题的根源在于资产目录会生成带有~iPad后缀的图标,iOS 5无法理解,所以我们需要手动添加这些不带~iPad后缀的文件,iOS 6不存在这个问题,可以找到合适的带有和不带~iPad后缀的图标。
使用在资源目录中设置的图标名称(AppIcon或Icon或其他任何名称)。

t40tm48m

t40tm48m3#

XCode 6.0.1更新

XCode 6图标资产目录现在似乎可以在iOS5 - iOS8.0.2上正常工作。我已经在运行iOS 5.1.1的iPad 1上确认了这一点。检查编译后的应用程序,我发现XCode正确生成了以下Info.plist图标条目,并将图标文件复制到应用程序捆绑包根目录,并使用相应的文件名(这是在使用名为AppIcon的资产目录时生成的-默认值):

这包含所有iPad和iPhone设备到iPhone 6+的图标。

vltsax25

vltsax254#

试试这个:
将此添加到您的列表:

<key>CFBundleIcons</key>
    <dict>
        <key>CFBundlePrimaryIcon</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>Icon</string>
                <string>Icon-72</string>
                <string>Icon-Small</string>
                <string>Icon-Small-50</string>
            </array>
        </dict>
    </dict>

然后将以下图标文件添加到项目的根级别(与xcodeproj文件相同的文件夹):

Icon-72.png          (72x72)
Icon-72@2x.png       (144x144)
Icon-Small-50.png    (50x50)
Icon-Small-50@2x.png (100x100)
Icon-Small.png       (29x29)
Icon-Small@2x.png    (58x58)

您可能需要也可能不需要完成所有这些步骤,但它对我很有效。我的项目使用了XCode 5的资产目录,但我仍然必须这样做才能在运行iOS 5.1.1的iPad1上获得合适的图标(这真的很遗憾!)

vfwfrxfs

vfwfrxfs5#

您还可以在界面中禁用资产目录:
1.在边栏中选择您的项目(列表中最上面的元素)
1.转到应用程序图标,单击源下拉字段,然后选择“不使用资产目录”
1.将您的图像添加到项目中(将其拖放到侧边栏中,您可以为它们创建一个组)
1.现在你可以在应用图标下选择你的图片,点击右边的灰色小文件夹图标。
我的猜测是,iOS 5只是不支持资产目录,所以你必须让Xcode 5使用旧的方式。

bf1o4zei

bf1o4zei6#

在我的情况下,唯一的解决方案是在资产中创建一个新的应用程序图标条目,并确保iPad图标设置在那里。
我在Xcode 5中处理一个旧项目。我让Xcode在旧项目文件上做一些转换,包括转换为使用资产。该项目仅限于iPhone,因此资产中转换的应用程序图标集不包含iPad条目-甚至插槽也不包含。当我创建一个新的应用程序图标时,它还包括iPad的插槽(该项目仍然是“仅限iPhone”)。填充所有条目导致我的图标显示在iPad 1(iOS 5. 1. 1)上。
请注意,我不必更改Info. plist,也不必为图标文件指定特定的名称。

bmvo0sr5

bmvo0sr57#

相关问题