主要是写cordova插件
<!---------------------------CheckUpdate.h文件----------------------------------------->
#import <Cordova/CDVPlugin.h>
@interface CheckUpdate : CDVPlugin{
NSString *trackViewUrl;
}
@property (nonatomic,retain) NSString *trackViewUrl;
- (void)checkUpdate:(NSMutableArray*)arguments withDict:(NSDictionary*)options;
@end
<!---------------------------CheckUpdate.m文件----------------------------------------->
#import "CheckUpdate.h"
@implementation CheckUpdate
@synthesize trackViewUrl;
- (void)checkUpdate:(NSMutableArray*)arguments withDict:(NSDictionary*)options{
NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];
NSString *nowVersion = [infoDict objectForKey:@"CFBundleVersion"];
NSError *error;
NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/lookup?id=739680648"];
NSURLRequest *request= [NSURLRequest requestWithURL:url];
NSData *response=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSDictionary *dict= [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];
NSArray *res= [dict objectForKey:@"results"];
if([res count]){
NSDictionary *resDict= [res objectAtIndex:0];
NSString *newVersion = [resDict objectForKey:@"version"];
self.trackViewUrl=[resDict objectForKey:@"trackViewUrl"];
if([nowVersion isEqualToString:newVersion]==NO)
{
NSString *message=[[NSString alloc] initWithFormat:@"当前版本为%@,最新版本为%@", nowVersion, newVersion];
UIAlertView *alert= [[UIAlertView alloc] initWithTitle:@"检测版本更新" message:message delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"更新", nil ];
[alert show];
[alert release];
}else{
UIAlertView *alert= [[UIAlertView alloc] initWithTitle:@"检测版本更新" message:@"已经是最新版本了" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:nil];
[alert show];
[alert release];
}
}
}
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if(buttonIndex == 1){
NSURL *url= [NSURL URLWithString: self.trackViewUrl];
[[UIApplication sharedApplication] openURL:url];
[url release];
}
}
@end