2010-03-11 86 views
4

该压光机应用程序可以做到这一点......如何根据iPod或iPod应用程序设置中存储的信息改变应用程序图标?动态iPhone应用程序图标?

编辑: 我今天意识到可以通过sdk访问包。 (至少读取访问权限)如果我有一个图形API(也许是图形API),那么我可以像这样修改图标。操作如下:

  • get bundle.png从bundle中获取。
  • 修改它
  • 将它重新保存到包中。

这有道理吗?

回答

3

不幸的是,您不能使用SDK(当然Apple不限于使用日历应用程序) - 您可以使用徽章,但图像始终是静态的。

+0

确定。这就是为什么(除其他原因外)苹果公司不存在日历API。谢谢。 – Moshe 2010-03-11 02:08:08

2

回答你的编辑:不,你不能修改你的包内的任何文件;你的应用程序被沙箱化,只在其文档,缓存和临时目录中具有写权限。

+0

如果plist在沙箱内引用了一个文件会怎么样? – Moshe 2010-03-19 03:33:49

+1

我听说一些类似的事情发生了......文件是捆绑中的符号链接,或类似的东西。不过一段时间以前 - 现在有一个很好的机会。 – 2010-03-19 16:43:39

5

就像一个笔记,苹果的日历应用程序实际上是硬编码到系统中,以显示在图标上的视图。将其放在第一页的左侧并拖动到SpotLight,您会注意到文本以不同的方式淡出。

+0

有趣的观察。尽管如此。 – Moshe 2010-03-19 03:34:27

+0

这是因为它是一个白色背景上的黑色文本视图,因此它会变成白色,但由于它变得不可见,图标本身会变黑。要做到这一点,他们不得不淡化日历文本。 – 2010-03-20 05:12:05

1

它可能在新的iOS 10.3更新(测试版),但你将不得不指定info.plist文件中的每个图标。

func setAlternateIconName(_ alternateIconName: String?, 
    completionHandler: ((Error?) -> Void)? = nil) 

alternateIconName

+0

检查过的文档,但仍然对如何实现它感到困惑,在清晰的用例意义上? – Catarino 2017-03-28 21:38:47

+0

@Catarino https://www.hackingwithswift.com/example-code/uikit/how-to-change-your-app-icon-dynamically-with-setalternateiconname – 2017-05-01 22:01:03

相关问题