Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2|回复: 0

聊聊:苹果ipa文件如何修改图标呢

[复制链接]

33万

主题

0

回帖

101万

积分

超级版主

Rank: 8Rank: 8

积分
1011037
发表于 10 小时前 | 显示全部楼层 |阅读模式
前言
在iOS11系统之前,苹果app的icon加载方式,是以info.plist的相关配置为先的,也就是说,加载icon先去info.plist查找是否有icon配置项,有的话按配置项加载icon,没有再去Assets资源去加载icon。
而iOS11之后,苹果把两个先级调换了,所以按之前的方式直接把包解压,把不同尺寸的icon放入包根目录,再加入icon配置项的方式不一定生效。
注意:为了兼容所有版本,比较好两种方式都要做,除非确定Assets没配置icon。

一、info.plist配置方式
1、你需要一张1024*1024的icon,导入生成icon的网址,下载iOS的icon压缩包,解压得到各种尺寸的icon。
2、解压ipa包,得到Payload文件夹,打开Payload,里面是app目录,接着打开,找到并打开info.plist,配置icon的键值对。
3、按照info.plist配置的icon修改步骤1中解压得到的icon,尺寸要对应,然后将所以需要的icon复制到Payload文件夹。
4、重签。

从iOS 5.0开始,通过包含CFBundleIcons键来指定图标。 旧的应用程序可能先前通过包含CFBundleIconFiles键来指定其图标。 如果密钥仍然存在,则应该删除该密钥(不要忘记删除任何特定于设备的变体)。 所有的应用程序都应该迁移到CFBundleIcons键来指定它们的图标。

CFBundleIcons键的值是一个带有两个子键的字典:CFBundlePrimaryIcon UINewsstandIcon。 UINewsstandIcon键用于报摊应用程序,否则可以省略。 CFBundlePrimaryIcon键的值是一个字典,用于标识与该分发包关联的图标图像。 它可能包含两个子键:CFBundleIconFiles和UIPrerenderedIcon。 UIPrerenderedIcon键的值是一个布尔值,用于指定图像是否已经包含闪耀效果。 CFBundleIconFiles键的值是一个字符串数组,每个字符串标识一个包中的图像。

重要:指定每张图片的称时,比较好省略任何扩展。 省略扩展后,系统会使用标准分辨率图像文件自动检测图像的高分辨率(“@ 2x”或“@ 3x”)变体。 如果您包含扩展,则必须明确指定所有图像文件(包括高分辨率变体)。

如果您的应用程序支持iOS 4.3,则还必须包含CFBundleIconFiles项以指定应用程序的图标图像。 这个键的值是一个字符串数组,每个字符串标识一个包中的图像。 如果您为iPad特定的图标包含了图像,则可以将它们列在CFBundleIconFiles项下,或者将它们列在设备特定的CFBundleIconFiles?ipad项下。 仅限iPad的应用程序应在CFBundleIconFiles项下列出其图标图像。
示例2具有iOS 4.3部署目标的通用应用程序的示例配置。


二、car替换方式
ipa包解压Payload文件夹,打开Payload,里面是app目录,接着打开,会发现一个Assets.car文件,这是个什么鬼也就是苹果把之前的包以一种方式压缩了一下,这里需要一个工具去解压-->替换-->重新压缩,然后替换掉原包里面的car文件。
经过网络搜索,发现了一款工具ThemeEngine,可以现这个功能。

在过去的十年间,ios签名工具战胜了很多的竞争对手,在摸爬滚打中奋勇前行,为客户打磨出很多的好产品。23-3个人站----免费苹果应用IPA一键签名工具官网。https://www.23-3.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|足球新闻网

GMT+8, 2025-4-7 23:09 , Processed in 0.056457 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表