Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7968167
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T07:02:06+00:00 2026-06-04T07:02:06+00:00

I have read the apple guidelines and I know it says you shouldn’t do

  • 0

I have read the apple guidelines and I know it says you shouldn’t do that but hear me out as I would like to know if what I am doing is bad practice.

When my application loads up, in the app delegate, a web call is made which sets up the order of the tabs, as well the content within it. Web call is like this

WebCalls *wc = [[WebCalls alloc] init];
[wc setWebCallDidFinish:^(NSString * json) {    
    // set up tab order here, as well as stores the JSON in a file on the phone
    // Also code here to download images and cache them on phone
    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];
}
[wc getData:phoneNumber];

Now this code works great but the problem is what will happen when app starts is

  1. Launch image shows for a second (which is not very long, sometimes it’s half a second or less so just annoying)
  2. Screen goes black for about 2 seconds while json is parsed and images downloaded etc
  3. Then first tab controller is shown

What I want is a seamless transition between the splash screen and the first screen so the user never sees black screen.

What I was thinking of doing is something like this

Change iPhone splash screen time

In the answer given, the guy pushes a view forward to be the splash screen. Would it be bad practice to push that view forward, and then in that screen do the web calls which gets json data, and downloads images, then dismiss the view and have the tabcontroller view become main view?

Or how else would I prevent this delay? Is it bad practice to have a large enough web call like this in AppDelegate?

If this is bad practice to push a view forward while doing background loading, what else would you recommend? Would it be better if I just make the tabController the main rootViewController first and do the webCall in the first tab shown instead, then update the tabs when this web call finished? I was considering this one, but the tab order could be in any order after the web call is made, so not sure what tab will be shown first.

Would be grateful for your input

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-04T07:02:07+00:00Added an answer on June 4, 2026 at 7:02 am

    In the answer given, the guy pushes a view forward to be the splash screen. Would it be bad practice to push that view forward, and then in that screen do the web calls which gets json data, and downloads images, then dismiss the view and have the tabcontroller view become main view?

    This is the way to do it. It’s generally bad practice to download stuff from applicationDidFinishLaunching, what happens if the phone is not connected to the internet?

    Present a simple view controller (using presentModalViewController:controller animated:NO with a UIActivityIndicator and a label describing what’s going on, and then dismiss it when loading finishes (or it it fails, just display an error and deny access to the app). Remember to also check for airplane mode and notify the user.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have read that you can do it, but would this really improve performance
I have read from some article that say's Apple doesn't approve the application which
I have read the Apple documentation regarding Mobile Device Management (MDM) but did not
I have read Apple Scroll View Programming Guide for iOS but still confused about
I have read some blog posts stating Apple would charge 30% transaction fee of
I have read on an article that Apple is applying a policy by which
I have read in the Apple Documentation that StoreKit will not restore subscriptions on
I am a beginner Apple developer and I have some issues I would like
I have read in the Apple Documentation that we can use optional parameters in
I know: I have to sign the applet so it can read files How

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.