如何规避苹果审查,实现app store上的app版本强制更新

原创 2016年08月30日 17:38:31

要想规避苹果审查,我们需要通过调用数据接口来控制调用app 版本强制更新功能:当苹果在审查的时候,我们可以通过后台数据控制关闭版本强制更新功能,等苹果审核通过以后我通过后台控制打开版本强制更新功能。下面是app 版本强制更新功能实现的代码:


AppDelegate.h文件

#import <UIKit/UIKit.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate,UIAlertViewDelegate>

@property (strong, nonatomic) UIWindow *window;


@end


AppDelegate.m文件

#import "AppDelegate.h"

#import "ViewController.h"
@interface AppDelegate ()
{
    ViewController *vc;
}
@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    

    self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
    
    self.window.backgroundColor = [UIColor whiteColor];
    
    vc = [[ViewController alloc]init];
    
    UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:vc];
    
    self.window.rootViewController = nav;
   
    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application {

    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    
    [vc checkVersion];

    
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}

- (void)applicationDidBecomeActive:(UIApplication *)application {

    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

- (void)applicationWillTerminate:(UIApplication *)application {
    

    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

@end




ViewController.h文件

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

-(void)checkVersion;
@end


ViewController.m文件


#import "ViewController.h"

@interface ViewController ()
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    
    self.title = @"版本检测更新";
    
    
    self.view.backgroundColor = [UIColor whiteColor];
    
    
    [self checkVersion];   //检测升级

    
    
}


-(void)checkVersion
{
    NSString *newVersion;
    NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/cn/lookup?id=1139094792"];//1137865162
    NSString *jsonResponseString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
//    NSLog(@"通过appStore获取的数据信息:%@",jsonResponseString);
    
    NSData *data = [jsonResponseString dataUsingEncoding:NSUTF8StringEncoding];
    id json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
    
    NSArray *array = json[@"results"];
    
    for (NSDictionary *dic in array) {
        
        
        newVersion = [dic valueForKey:@"version"];
        
    }
    
//    NSLog(@"通过appStore获取的版本号是:%@",newVersion);
    //    解析json数据
    //获取本地软件的版本号
    NSString *localVersion = [[[NSBundle mainBundle]infoDictionary] objectForKey:@"CFBundleVersion"];
    
    NSString *msg = [NSString stringWithFormat:@"你当前的版本是V%@,发现新版本V%@,请更新新版本哦!",localVersion,newVersion];
    
    //对比发现的新版本和本地的版本
    if ([newVersion floatValue] > [localVersion floatValue])
    {
        
        UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"升级提示"message:msg preferredStyle:UIAlertControllerStyleAlert];
        
        [self presentViewController:alert animated:YES completion:nil];
        
        

        
        [alert addAction:[UIAlertAction actionWithTitle:@"现在升级" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://itunes.apple.com/cn/app/yi-ka-tongbic-ban/id1139094792?l=en&mt=8"]];//1137865162
//            NSLog(@"点击现在升级按钮");
        }]];
       
        
    }
}




- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

iOS 规避苹果审查,实现app store上的app版本强制更新

要想规避苹果审查,我们需要通过调用数据接口来控制调用app 版本强制更新功能:当苹果在审查的时候,我们可以通过后台数据控制关闭版本强制更新功能,等苹果审核通过以后我通过后台控制打开版本强制更新功能。下...
  • u010960265
  • u010960265
  • 2017年11月25日 09:07
  • 935

IOS APP弹框检查更新 避免审核被拒

一.前言 1.第一次写博客,可以说网上资源的总结一下,雷同多有担待。 2.随着15年3月起app上架AppStore官方审核不允许提示更新升级的字样。可规则是死的 ,人是活的 。还是有空可钻的。 二...
  • csdnwwg
  • csdnwwg
  • 2016年05月19日 12:25
  • 8300

iOS-app更新和强制更新

版本号规则版本号的格式:v.. 如版本号为2.3.6 1. 我一般把第一位作为大版本号。如出现重大更新,如果用户不更新,这个app都用不下去了。这个时候就要强制用户更新。 2. 第二位作为功...
  • appleLg
  • appleLg
  • 2017年03月09日 15:04
  • 750

iOS开发中,应用内直接跳转到Appstore(适合版本强制升级和跳转appstore评分)

iOS开发中,应用内直接跳转到Appstore 1.进入appstore中指定的应用 NSString *str = [NSString stringWithFormat:  ...
  • sunboygpz
  • sunboygpz
  • 2016年05月12日 15:17
  • 1896

app版本更新的四种实现方式

版本更新大致分为四大类:app负责单版本检测测与更新(自己实现版本更新),通过苹果商店的自动更新机制进行自动更新和通过第三方平台实现版本检测与更新(如:友盟的版本检测与更新),app和服务器联合实现多...
  • jia12216
  • jia12216
  • 2015年11月06日 10:04
  • 14412

iOS --------- 强制提示用户版本升级

// //  LoginAnRegisterViewController.m //  HengTaiXinGolf // //  Created by ouyangrong o...
  • qq_27247497
  • qq_27247497
  • 2015年11月17日 15:11
  • 742

从iTunes获取App信息

http://itunes.apple.com/cn/lookup?id=(YourAppID) E.g:http://itunes.apple.com/cn/lookup?id=106220716...
  • sinat_25544827
  • sinat_25544827
  • 2016年03月24日 14:04
  • 643

appstore应用信息获取 lookup

https://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api....
  • imanapple
  • imanapple
  • 2015年09月24日 17:36
  • 1212

关于从appstore上获取应用版本的问题

用http://itunes.apple.com/lookup?id=你的应用程序的ID, 再浏览器打开怎么我的app返回的是 { "resultCount":0, "results": []...
  • a19860903
  • a19860903
  • 2013年10月04日 15:01
  • 1032

如何规避苹果审查,实现app store上的app版本强制更新

AppDelegate.h文件 #import @interface AppDelegate : UIResponder @property (strong, nonatomic) UIWi...
  • cxiao_11
  • cxiao_11
  • 2016年08月30日 17:38
  • 5267
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何规避苹果审查,实现app store上的app版本强制更新
举报原因:
原因补充:

(最多只允许输入30个字)