我的问题也和其他人之前问过的一样。
我发现一旦你设置了应用程序的图标,我们就无法更改应用程序图标动态地。是的,我同意了。如果是这样,我们使用动态图标苹果不接受。但我承认苹果有一些规则和规定。
所以这是我的问题:如何动态更改应用程序图标。我不会将我的应用程序放入 AppStore。
每个人都说这是不可能的。我不担心苹果规则。但是,是的,担心答案。
任何人,只要引导我做到这一点,不要告诉我“你不能”。
提前致谢。
iOS 10.3+
有一种方法叫做设置备用图标名称:它是在 iOS 10.3 中引入的,通过它您可以更改应用程序的图标,但是这些图标应该是预定义的。这意味着图标应该添加到应用程序的包中并在info.plist
.
Example:
典型的 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>
实现代码如下:
目标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 之前
您无法动态更改图标文件,因为图标文件名存储在应用程序列表.
.
您无法动态更改应用程序 plist,因为它存储在应用程序包中readonly.
所以你的要求是不可能实现的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)