同样的情况,第二次被拒绝因为使用了MBProgressHUD :(

时间:2012-09-25 02:31:29

标签: ios ipad progress-bar appstore-approval mbprogresshud

拒绝原因:活动指标无限制地旋转,用户无法访问内容

同样的情况,由于使用了MBProgressHUD,第二次被拒绝。

谁能告诉我上传到appstore应用程序会有什么不同?我做了各种测试,这样的问题没有出现在当地。

-----------------------------在我的控制器中--------------- --------------------

- (void)downloadList
{

    if (isLoading) {
        return;
    }

    isLoading = YES;

    //do something......

    //show the progressbar based on MBProgressHUD
    [[MyDelegate getAppDelegate] showProgressBarForTarget:self whileExecuting:@selector(showProgressBarForLoading)];
     }
}

- (void)showProgressBarForLoading
{   
    while (isLoading) {
        //i++;
        continue;
    }
}

- (void)downloadListDidReceive:(XGooConnection*)sender obj:(NSObject*)obj
{
    //do something......

    isLoading = NO;

}

-----------------------------在我的AppDelegate中--------------- ----------------

- (void)showProgressBarForTarget:(id)target whileExecuting:(SEL)theSelector
{
    UIViewController *controller = [splitViewController.viewControllers objectAtIndex:0];

    HUD = [[MBProgressHUD alloc] initWithView:controller.view];
    [controller.view addSubview:HUD];

    HUD.delegate = self;

    // Show the HUD while the provided method executes in a new thread
    [HUD showWhileExecuting:theSelector onTarget:target withObject:nil animated:YES];
}

-----------------------------拒绝细节的原因-------------- -----------------------

您应用的最新版本已被拒绝........

拒绝理由:

重现的步骤是:

  1. 启动应用
  2. 选择左上角的“菜单”按钮
  3. 选择菜单项
  4. 活动指示器无限制地旋转,用户无法访问内容

1 个答案:

答案 0 :(得分:3)

首先,拒绝的原因可能是MBProgressHUD的使用不当,而不是MBprogressHUD本身。

如果仅在应用商店测试期间发生这种情况,请尝试在发布配置中运行应用。那里也可能存在网络条件,你没有预料到。也许只有在出现网络错误(飞行模式?)时才会出现这种情况。发生网络错误时是否设置isLoading = NO?

FWIW,有一种更好的方法来显示/隐藏异步请求的HUD。像这样在while循环中汇集标志是非常低效的。查看MBProgressHUD演示应用程序中的NSURLConnection示例。