该压光机应用程序可以做到这一点......如何根据iPod或iPod应用程序设置中存储的信息改变应用程序图标?动态iPhone应用程序图标?
编辑: 我今天意识到可以通过sdk访问包。 (至少读取访问权限)如果我有一个图形API(也许是图形API),那么我可以像这样修改图标。操作如下:
- get bundle.png从bundle中获取。
- 修改它
- 将它重新保存到包中。
这有道理吗?
该压光机应用程序可以做到这一点......如何根据iPod或iPod应用程序设置中存储的信息改变应用程序图标?动态iPhone应用程序图标?
编辑: 我今天意识到可以通过sdk访问包。 (至少读取访问权限)如果我有一个图形API(也许是图形API),那么我可以像这样修改图标。操作如下:
这有道理吗?
不幸的是,您不能使用SDK(当然Apple不限于使用日历应用程序) - 您可以使用徽章,但图像始终是静态的。
回答你的编辑:不,你不能修改你的包内的任何文件;你的应用程序被沙箱化,只在其文档,缓存和临时目录中具有写权限。
如果plist在沙箱内引用了一个文件会怎么样? – Moshe 2010-03-19 03:33:49
我听说一些类似的事情发生了......文件是捆绑中的符号链接,或类似的东西。不过一段时间以前 - 现在有一个很好的机会。 – 2010-03-19 16:43:39
就像一个笔记,苹果的日历应用程序实际上是硬编码到系统中,以显示在图标上的视图。将其放在第一页的左侧并拖动到SpotLight,您会注意到文本以不同的方式淡出。
有趣的观察。尽管如此。 – Moshe 2010-03-19 03:34:27
这是因为它是一个白色背景上的黑色文本视图,因此它会变成白色,但由于它变得不可见,图标本身会变黑。要做到这一点,他们不得不淡化日历文本。 – 2010-03-20 05:12:05
它可能在新的iOS 10.3更新(测试版),但你将不得不指定info.plist文件中的每个图标。
func setAlternateIconName(_ alternateIconName: String?,
completionHandler: ((Error?) -> Void)? = nil)
检查过的文档,但仍然对如何实现它感到困惑,在清晰的用例意义上? – Catarino 2017-03-28 21:38:47
@Catarino https://www.hackingwithswift.com/example-code/uikit/how-to-change-your-app-icon-dynamically-with-setalternateiconname – 2017-05-01 22:01:03
确定。这就是为什么(除其他原因外)苹果公司不存在日历API。谢谢。 – Moshe 2010-03-11 02:08:08