自己整理的ios app实现自动升级

来源:互联网 发布:java控制面板是什么 编辑:程序博客网 时间:2024/06/05 10:14

http://blog.csdn.net/yipanbo/article/details/30051267



主要是写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
0 0
原创粉丝点击