1

这个问题是关于 iOS 10.3 的新功能,即让用户能够自定义他们在主屏幕上看到的应用程序徽标。(查看 Bat 应用程序的 MLB 以供参考,他们让用户选择哪个图标将是应用程序徽标: http: //m.mlb.com/apps/atbat

根据我的研究,我们需要提交所有可能的标志选项供苹果审查。然后用户可以使用这些选项中的任何一个自定义徽标。现在在我的特定用例中,我可能并不总是希望所有用户都可以使用所有徽标选项。我需要帮助弄清楚如何控制向所有用户显示哪些徽标?例如。如果我们有 10 张图片,对于用户 A,我们可能只想显示图片 1 和 2 以供选择;对于用户 B,我们可能只想显示图片 3 和图片 4 作为他们的应用程序徽标。这可能吗?提前非常感谢!

4

2 回答 2

0

将所有图标添加到应用程序中的某个文件夹中,借助以下方法,您应该管理哪些用户应该看到哪些图标。

if([user isEqualToString:@"user1"]){
    [UIApplication.sharedApplication setAlternateIconName:@"icon1" completionHandler:^(NSError * _Nullable error) {
            if (error) {
                NSLog(@"---> error - %@",error.description);
            }
            else{
                NSLog(@"---> icon1 ");
            }
        }]
}

如果您想为用户提供从图标中进行选择的选项,那么您也可以相应地编写代码,以便他/她只能从过滤后的图标中进行选择。

于 2018-10-15T09:34:26.577 回答
0

setAlternateIconName(_:completionHandler:)您可以使用on 方法控制设置哪个图标UIApplication

示例用法:

UIApplication.shared.setAlternateIconName("myImage", completionHandler: { error in
    print("completed")
})

只要在您的应用程序中合适,您就可以调用它。所以如果你只想显示几个选项,你可以用你自己的视图来做,只在需要的时候调用这个方法。

此处文档中的更多信息:https ://developer.apple.com/reference/uikit/uiapplication/2806818-setalternateiconname

这是另一个带有有用代码和图像的 SO 答案:https ://stackoverflow.com/a/41951096/6658553

于 2017-05-04T18:03:52.487 回答