新浪微博项目技术之一各种经典bug总结
1.模型存进沙盒,必须遵循<NSCoding>协议
2.新浪微博经典403错误
Request failed: forbidden (403)
注:错误原因主要是在某一段时间内对新浪服务器发出请求过多而导致的.所以在开发中要注意使用的次数,同时不要过于集中在某一时间段内过高频率,否则容易导致禁止访问的问题. 详细可见新浪微博开发平台接口访问频次权限!
解决:1.登陆向新浪服务器发请求时,不要出现过于集中的时段 2.换个测试账号登陆一下就可以了 (不过测试账号的访问期限有限制).
3.访问超时提醒
4.iOS8中设置App红点提示没有权限的问题
在iOS8中调用-[UIApplication setApplicationIconBadgeNumber:]会出现如下没有权限的提示:
Attempting to badge the application icon but haven’t received permission from the user to badge the application.
原因分析:
原因是因为在ios8中,设置应用的application badge value需要得到用户的许可。使用如下方法咨询用户是否许可应用设置application badge value
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
在这之前要判断系统是否为iOS8的系统,否则8之前的系统会报错。
解决方案:
AppDelegate.m文件中添加一个访问申请许可就可以了.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/** 应用右上角图标数字小红点的开启,要向用户发送请求通知获得用户许可 */
float sysVersion=[[UIDevice currentDevice]systemVersion].floatValue;
if (sysVersion>=8.0) {
UIUserNotificationType type=UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound;
UIUserNotificationSettings *setting=[UIUserNotificationSettings settingsForTypes:type categories:nil];
[[UIApplication sharedApplication]registerUserNotificationSettings:setting];
return YES;
}