同步呼叫WillfinishlaunchingwithOptions(AppDelegate)



我将在启动应用程序之前(在AppDelegate,显示Splash屏幕时)进行远程调用。然后,我将根据URL响应选择哪个视图控制器加载。在AppDelegate上执行此操作是正确的吗?还是我需要其他方法?

我认为最好的方法是创建一个您做出此选择的viewController。加载此VC后,您可以在UI中显示您的应用程序实际上在工作并等待网络响应时进行远程调用 - 最佳方法可能是显示带有uiactivityIndicatorView旋转的消息。

获得响应后,您将加载所需的VC。您还应该处理错误 - 如果网络请求失败,您将显示什么?您是否显示错误消息?

您不应从Willfinishlaunchingwithoptions中进行任何同步网络调用。如果您花了几秒钟以上的时间返回该方法或(diDfinishLaunchingWithOptions,或系统在启动应用程序过程中调用的其他应用程序委托方法),则Springboard将您的应用程序终止您的应用程序。

> > >

@tanzolone有正确的想法。让您的应用显示显示您应用程序UI的视图控制器,然后调用网络请求,并根据响应确定第二个屏幕。

最新更新