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

拒绝原因:活动指示器旋转不准,用户无法访问内容

同样的情况,第二次因为使用MBProgressHUD而被拒绝。

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

—————————–在我的控制器里—————————– —————–

- (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. select左上angular的菜单button
  3. select一个菜单项
  4. 活动指标旋转不定,用户无法访问内容

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

如果这仅在app storetesting期间发生,请尝试在发布configuration中运行应用程序。 那里也可能有networking条件,你没有预料到。 也许这只发生在有networking错误(飞行模式?)时。 当networking错误发生时,您是否设置isLoading = NO?

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