一. 参考文章
- 参考文章1
二. 具体特性
1. 更便捷的方式获取用户评价
- 效果
-
实现代码(就两行,在需要添加的位置调用)
#import <StoreKit/SKStoreReviewController.h>
[SKStoreReviewController requestReview]; -
注意问题
-
app内好评弹窗提示一年只允许弹三次(不区分版本)
-
如果用户在在系统设置里面关掉app内好评弹窗提示,app内好评弹窗将在未来的一年内(a 365-day period)无法展示
-
无法获取使用次数
-
建议使用方案
-
要么不进行修改,继续使用之前的方案,不做任何改动
-
要么使用苹果的这个,一年只弹三次评价框
-
要么可以使用每次跳转到评论页的方式
2. 处理用户反馈
-
现在在iTunes Connect里面可以看到所有关于APP的评论,使用过滤器可以筛选指定的版本和地区。回复后用户会收到回复通知并切对应内容会更新在appstore对应app的评论区中
-
使用方法参考这里
3. 替换AppIcon
-
实现代码
if ([[UIApplication sharedApplication] supportsAlternateIcons]) {
//是否支持
[[UIApplication sharedApplication] setAlternateIconName:@“alternateIconName”
completionHandler:^(NSError * _Nullable error) {}];}
-
注意问题
-
其中alternateIconName其实是对应info.plist设置的一个key,如果设置成nil就会使用App最初默认的icon。具体后面会详细说明。而completionHandler顾名思义就是完成icon替换后的回调,出现error的情况大多是因为plist配置不对,或者找不到icon资源。
-
前面讲到的setAlternateIconName方法中的参数alternateIconName对应的便是上图CFBundleAlternateIcons里面的key只要保证调用传参和plist里面的配置key值一样即可,不要求必须与icon资源同名,但是CFBundleAlternateIcons之下的CFBundleIconFiles数组中对应元素的value必须对应到具体icon资源。由于appIcon对应的各种尺寸比较多,一个个配置比较麻烦,因此我们可以只配置最大尺寸的那个(包含@2x,@3x),iphone 60pt ,ipad 83.5pt。系统拿不到小图会自动拿大图压缩填充。
-
如果是ipad app,使用CFBundleIcons~ipad来代替CFBundleIcons
-
需要注意的是由于setAlternateIconName()最终是根据plist里面的配置去bundle里面获取所需的图片资源。所以我们不能把图片放在.xcassets里面(直接拉到文件目录下,感觉这个low了),更不可能说提供在线素材供用户下载替换了。
-
UIPrerenderedIcon:是否已经预渲染,如果不设置该项或者设为NO。系统会自动为icon进行渲染增加光泽
-
替换AppIcon相对麻烦的就是plist配置了。首先我们需要了解一下三个info.plist的keyCFBundleIcons,CFBundlePrimaryIcon,CFBundleAlternateIcons,
CFBundleIcons是一个字典,包含所有AppIcon信息,即下图的Icon files(iOS 5)。包含CFBundlePrimaryIcon和CFBundleAlternateIcons。CFBundlePrimaryIcon:如果Assets.xcassets的AppIcon有设,那么CFBundlePrimaryIcon里面的配置会被忽略,Assets.xcassets的AppIcon即为CFBundlePrimaryIcon。否则会以CFBundlePrimaryIcon配置的icon为AppIcon(如果有)。CFBundleAlternateIcons是一个数组,负责配置可供替换的icon信息,具体信息如下图
4. 其他更新(只需简单了解,与开发关系不大)
- iOS 10.3 来了,这些新变化你应该知道