苹果在10.3开放了一个新的API,就是更换APP的Icon图标。因此只有在10.3以后的版本中才能使用这个api, 网上也有很多的栗子, 我这边就是把内容总结下来:

1. 设置图片

5c2941aaba2d

这是在info,plist文件中设置图片的方法, 然后在适当的时候执行下面的方法:

5c2941aaba2d

其实在这里出现一个问题, 当调用setAlternateIconName 这个方法设置图片logo的时候, 会有一个弹框, 但是既然我们写了这个代码修改logo, 就不需要弹出框, 因此我也是查阅了一些资料, 找到下面的方法:

5c2941aaba2d

当执行这个代码的时候, 就可以悄无声息的修改logo了, 但是这里也有个问题, 我可以默默的修改logo了, 但是这个代码啥意思呢?  查阅相关资料, 有个大神做了一个解释:

'' setAlternateIconName的实现调用了_setAlternateIconName:completionHandler:方法,后面的这个方法没有弹框相关代码,弹框的代码在setAlternateIconName里面,所以直接调用后面的私有方法即可" ,

我的理解是, 如果直接调用setAlternateIconName方法设置logo, 这个算是系统方法, 方法内部不仅调用了设置logo的方法, 还调用了弹出框的方法, 但是如果通过

SEL selector =NSSelectorFromString(selectorString);

IMP imp = [[UIApplicationsharedApplication]methodForSelector:selector];

方法, 就会直接调用设置logo的方法, 而不会调用弹出框的方法, 不知道理解的对不对, 在此希望各位同仁予以指正.

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐