是否可以通过编程方式更改应用程序图标?

时间:2009-05-27 13:06:16

标签: iphone cocoa-touch uikit

我想制作两个不同的应用程序图标,然后以编程方式切换。当用户在没有完成工作流程的情况下退出应用程序时,我想切换到一个图标,该图标表示在启动应用程序时发生了某些事情。嗯,理论上,只是为了测试。

我认为图标文件只是一个普通文件,所以如果我只是以编程方式重命名它,然后给另一个图标文件指定名为Info.plist的图标文件的名称,那么应用程序应该显示用另一个图标,对吗?这可能吗?或者我无权访问该文件以进行重命名?

2 个答案:

答案 0 :(得分:4)

存储在“应用程序包”文件夹中的图标文件。 并且您的应用程序具有此文件夹的只读权限 没有任何改变/重命名文件的实际方法。

您可以将整数徽章添加到youy图标

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:666]

但这不是官方方法。

答案 1 :(得分:2)

这听起来是个好主意,我肯定会尝试一下,但我觉得这是不可能的。

我相信应用程序图标存储在iPhone的全局另一个文件结构中。我说这是因为在我安装了3.0 beta 5之后,我看到了一个错误,其中app图标从我开发的应用程序中消失了。然后,在从应用程序商店安装两个新应用程序后,新应用程序的图标出现在我的应用程序上,第二个新应用程序的图标出现在两个新应用程序上。基本上,新的应用程序图标已转移,以填补缺少的应用程序图标。

删除并重新添加应用,然后重新启动手机,正确恢复了图标。

我当然不知道应用程序图标是如何管理和存储在手机上的事实,但是可以说它们存储在偶尔重建的某种缓存列表中,可能在重新启动后。这意味着即使您可以在应用中更改图标,也需要花费更多精力才能看到​​手机上的效果。