这个问题与iOS 10.3的新功能有关,即让用户能够自定义他们在主屏幕上看到的应用徽标。 (在Bat应用程序中查看MLB以供参考,让用户选择哪个图标为app logo:http://m.mlb.com/apps/atbat)
根据我的研究,我们需要提交所有可能的徽标选项以供苹果审查。然后,用户可以使用以下任何选项自定义徽标。现在在我的特定用例中,我可能并不总是希望所有用户都可以使用所有徽标选项。我需要帮助找出如何控制向所有用户显示哪些徽标? 例如。如果我们有10个图像,对于用户A,我们可能只想显示图像1和2来选择;对于用户B,我们可能只想显示图像3和图像4作为其应用徽标。这可能吗?非常感谢提前!
答案 0 :(得分:0)
您可以使用setAlternateIconName(_:completionHandler:)
上的UIApplication
方法控制设置的图标。
使用示例:
UIApplication.shared.setAlternateIconName("myImage", completionHandler: { error in
print("completed")
})
只要适合您的应用程序,您就可以调用它。因此,如果您只想显示几个选项,则可以使用自己的视图执行此操作,并且只在需要时调用此方法。
此处文档中的更多信息:https://developer.apple.com/reference/uikit/uiapplication/2806818-setalternateiconname
以下是另一个有用的代码和图片的答案:https://stackoverflow.com/a/41951096/6658553
答案 1 :(得分:0)
将所有图标添加到应用程序中的某些文件夹,借助以下方法,您应管理哪个用户应看到哪些图标。
if([user isEqualToString:@"user1"]){
[UIApplication.sharedApplication setAlternateIconName:@"icon1" completionHandler:^(NSError * _Nullable error) {
if (error) {
NSLog(@"---> error - %@",error.description);
}
else{
NSLog(@"---> icon1 ");
}
}]
}
如果您想让用户选择从图标中进行选择,那么您也可以相应地编写代码,这样他/她就只能从过滤的图标中进行选择。