為什么羡榴,寫這篇文章碧查,呃,遇到坑了校仑,記錄一下忠售,app剛發(fā)布之后,從商店請求過來的app版本信息還是上一個版本的信息迄沫。
這是因?yàn)橹袊狙铮绹袝r差,你剛在中國區(qū)發(fā)布的app需要請求鏈接中國商店的網(wǎng)址羊瘩,否則會出現(xiàn)一定的時差
http://itunes.apple.com/cn/lookup?id=appId 中國區(qū)商店地址
http://itunes.apple.com/lookup?id=appId ? 美國區(qū)商店地址
如果想即使獲取到你再中國區(qū)發(fā)布的app信息泰佳,就得用中國區(qū)商店地址
源碼:
#pragma mark ** 對比app版本 start **
-(void)getAppstoreVersion{
NSString *urlstring = [[NSString alloc] initWithFormat:@"http://itunes.apple.com/lookup?id=%@",@""];//美國地區(qū)地址
//NSString *urlstring = [[NSString alloc] initWithFormat:@"http://itunes.apple.com/cn/lookup?id=%@",@""];// 中國地區(qū)地址
NSURL *url = [NSURL URLWithString:urlstring];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringCacheData
timeoutInterval:10];
[request setHTTPMethod:@"POST"];
NSOperationQueue *queue = [NSOperationQueue new];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response,NSData *data,NSError *error){
NSMutableDictionary *receiveStatusDic=[[NSMutableDictionary alloc]init];
if (data) {
NSDictionary *receiveDic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
if ([[receiveDic valueForKey:@"resultCount"] intValue]>0) {
[receiveStatusDic setValue:@"1" forKey:@"status"];
[receiveStatusDic setValue:[[[receiveDic valueForKey:@"results"] objectAtIndex:0] valueForKey:@"version"]? forKey:@"version"];
}else{
[receiveStatusDic setValue:@"-1" forKey:@"status"];
}
}else{
[receiveStatusDic setValue:@"-1" forKey:@"status"];
}
[self performSelectorOnMainThread:@selector(receiveData:) withObject:receiveStatusDic waitUntilDone:NO];
}];
}
-(void)receiveData:(NSDictionary *)sender{
NSString *senderString = [sender[@"version"] stringByReplacingOccurrencesOfString:@"." withString:@""];
DLog(@"網(wǎng)絡(luò)版本號:%@",senderString);
}
#pragma mark ** 對比app版本 end **