gpt4 book ai didi

iphone - iphone 的动态图标更改

转载 作者:可可西里 更新时间:2023-11-01 04:21:33 27 4
gpt4 key购买 nike

我的问题也和之前别人问的一样。

我发现一旦您为应用程序设置了图标,我们就无法动态更改应用程序图标。是的,我同意了。如果是这样,我们使用了 Apple 不接受的动态图标。但我承认苹果有一些规章制度。

所以这是我的问题:如何动态更改应用程序图标。我不会将我的应用程序放入 AppStore。

每个人都说这是不可能的。我不担心苹果规则。但是,是的,担心答案。

任何人,只要指导我这样做,不要告诉我“你不能”。

提前致谢。

最佳答案

iOS 10.3+

有一个方法叫setAlternateIconName:这是在 iOS 10.3 中引入的,您可以通过它更改应用程序的图标,但是这些图标应该是预定义的。这意味着图标应该添加到应用程序的包中并在 info.plist 中引用。

示例:

典型的 info.plist 如下所示:

<key>CFBundleIcons</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>alternate_icon_name</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>alternate_icon_file</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>default_icon_file</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
</dict>

实现代码如下:

objective-c :

[[UIApplication sharedApplication] setAlternateIconName:@"alternate_icon_name" completionHandler:^(NSError * _Nullable error) {
NSLog(@"Error...");
}];

swift 3:

if UIApplication.shared.supportsAlternateIcons
{
UIApplication.shared.setAlternateIconName("alternate_icon_name", completionHandler: { (error) in
print(error ?? "")
})
}

iOS 10.3 之前

您不能动态更改图标文件,因为图标文件名存储在应用程序列表中。

Application plist .

您不能动态更改应用程序 plist,因为它存储在只读的应用程序包中。

所以你的要求是不可能的。

关于iphone - iphone 的动态图标更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13005007/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com