站点图标 起风网

iOS客户端节日换肤的思考与实现

最近单位的APP来了新的需求,市场说他们要在圣诞节把APP里的图标都换了,还要换背景图片,还要给部分view添加一个遮盖。对,就是换肤。以前没有搞过换肤,所以考虑了一天,感觉大概就是这么个思路,感觉有问题的大家可以一块讨论。

总体来说主要分为两个部分:

@interface ChangeSkinService : NSObject// 是否允许更换资源@property (nonatomic, assign, readonly, getter=isShouldChangeSkin) BOOL shouldChangeSkin;+ (instancetype)sharedInstance;- (void)configService;- (NSString *)resourceFile;@end

如果服务器的版本高于本地的版本,则证明可能有换肤活动,这时需要判断服务器活动的结束时间,如果这个时间早于当前时间说明这次活动可能已经过期,那么客户端也就没有下载资源的必要了。如果这个时间晚于当前时间,则需要下载资源,这里可以给一个资源状态的标示,用来以防本地的版本已经跟服务器的同步而资源并没有下载成功的意外情况。事实上,我们可以一直等到资源下载并解压完成后再更改本地的所有设置,中间如果发生不可预料的错误,也可以避免客户端本地产生脏数据。


注:此文章首发在简书转载请说明出处。
如果你想看到完整的代码,可以去这里

文章转载于:https://www.jianshu.com/p/0651cfcd53dd

原著是一个有趣的人,若有侵权,请通知删除

退出移动版