Jump to content
vfbb

StoryBoard launch screen - Delphi 10.4

Recommended Posts

Is anyone managing to use the storyboard launch screen? Here it is only working with the original delphi color and image. When I try to change the background color or the image in the project options, it has no effect.

Share this post


Link to post

I found the problem and this is not a delphi bug. The problem is with the iOS cache, the app don't update new launchscreen / icon, even you uninstall and install your app. The solution is:

 

1) Uninstall the app

2) Power down the device

3) Power up the device

4) Install the app

  • Like 1

Share this post


Link to post
1 hour ago, vfbb said:

The problem is with the iOS cache, the app don't update new launchscreen / icon, even you uninstall and install your app. The solution is:

Renaming the app has the same effect. Certainly saves on having to restart the device 🙂

 

  • Like 1

Share this post


Link to post

Hi Guyz

 

I'm having an issue making the storyboard work with an existing app (I haven't tried with new apps yet).

 

I've followed these steps but I keep on getting a blank screen:

 

1.) I deleted the info.plist.TemplateiOS.xml from my project directory.

2.) Added the launch images in the project options

3.) I edited the LaunchScreen.storyboard and Assets files in LaunchScreen.TemplateiOS (actually only the Contents.json file in the Assets\LaunchScreenImage.imageset folder) as needed by replacing the default FM launch icons with mine.

4.) Made sure that my launch screen images to be deployed are in the "Project | Deployment".

5.) Deleted the app on the device (as @vfbb suggested above)

6.) Powered down the device (as @vfbb suggested above)

7.) Powered up the device (as @vfbb suggested above)

8.) Installed the app (as @vfbb suggested above)

 

Any ideas

Edited by MikeMon

Share this post


Link to post
14 minutes ago, MikeMon said:

3.) I edited the LaunchScreen.storyboard and Assets files in LaunchScreen.TemplateiOS (actually only the Contents.json file in the Assets\LaunchScreenImage.imageset folder) as needed by replacing the default FM launch icons with mine.

4.) Made sure that my launch screen images to be deployed are in the "Project | Deployment".

 

The options of the delphi 10.4 is working perfectly for this, you don't have to add it manually to the deploy project and you don't need to change the storyboard files either. You can test with a new project.

Share this post


Link to post
1 minute ago, vfbb said:

The options of the delphi 10.4 is working perfectly for this, you don't have to add it manually to the deploy project and you don't need to change the storyboard files either. You can test with a new project.

Hi @vfbb. Option 4 yes. Option 3 isn't working. The default Delphi launch screen images are added no matter what.

Share this post


Link to post
4 minutes ago, MikeMon said:

Hi @vfbb. Option 4 yes. Option 3 isn't working. The default Delphi launch screen images are added no matter what.

No, it is correct. The name in that file is not the name your image in your computer, but the name of the image in the remote device.

As I told you, just delete your app, restart your phone, open a blank project, change it by options and compile and you will see that is working.

Edited by vfbb

Share this post


Link to post

unistalling the app and restarting the iOS device is not working for me.

 

This seems an Embarcadero bug

Share this post


Link to post

More news:

 

I sent an ipa file to TestFlight, and when it was available I installed it in my iPad.

 

Aafter removing previous version, rebooting , and installing from TestFlight, still with no splash screen.

 

So probably my final version will be rejected. 😞

Edited by Francisco

Share this post


Link to post

 

11 hours ago, Francisco said:

This seems an Embarcadero bug

It's not, e.g:

 

https://stackoverflow.com/questions/33002829/ios-keeping-old-launch-screen-and-app-icon-after-update

 

Another possible solution (which I have not tried):

 

http://arsenkin.com/launch_screen_image_cache.html

 

Edit: An afterthought - this might not help you since your problem is no splash screen at all. Having said that, I still expect it is not an Embarcadero issue.

 

Edited by Dave Nottage
Afterthought
  • Like 1

Share this post


Link to post

I still have a blank screen. Let me show you my resolutions, may be this is the problem:

 

Iphone 2x: 750x1134

 

Iphone 3x:  1125x2436

 

iPad 2x:  1536x2048

 

All portrait, because the App only works in portrait

Share this post


Link to post

I have some issues from time to time, with the LauchScreen, but not only the image.

Sine this is maybe all related, I think this could be added in the thread too

 

1. In one app I have a too small launchscreen icon.
    The base icon is same size, but it appears only 1/3 of the size on its screen.
    Have tried to reset settings, re-create project, etc., clear the storybook, change the colors, etc. but it stays the same.
    While other projects icon looks OK, stretching to fit the whole display,
    I cannot really see any difference.

    (but since this behaviour was acceptable, I haven't looked into it much deeper).

2. A newer, and not acceptable behaviour is the white background when an app goes background and foreground again,
    it starts with a white background screen, until "BecameActive", only then I can reset the screen again.
    Its not showing the LaunchScreen then, but the current display, and this is "white" instead of normal color.

    To get a better impression, on the fron page there is a TListView:

    This is how it should look (and it does when first starts)
    image.png.cf70e5330da030f5588ca5bd829de929.png

    This is how it looks when background/foreground, until "BecameActive", only after BecameActive I can reset,
    but thats a well visible flicker when starting.
    image.png.d9154f2de5d567507b656e7764e8b85f.png

 

It looks to me that the style or the listview is somewhat affected by background foreground change,
since I cannot find any other reason for setting the colors like that.
I do use the StyleManager, and setting the style once at startup, usually no need to reset again when BG/FG.

What I tried is to set the background colors in many ways, also to force a change,
but I want to put them "black" in light and dark themes, like that:
image.png.bb87ab9c2e7cd23332b39f79a7a7170f.png

 

I think this was a similar issue here.


When I change the colors, Apple seems to require the colors as float (0.0 ... 1.0),
but in the .storyboard template I can see a white background (color 1 1 1 1)

    <resources>
        <image name="LaunchScreenImage" width="96" height="96"/>
        <namedColor name="LaunchScreenBackgroundColor">
            <color red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
        </namedColor>
    </resources>

In the compiled storyboard, this is still the same
 

    <resources>
        <image name="LaunchScreenImage" width="96" height="96"/>
        <namedColor name="LaunchScreenBackgroundColor">
            <color red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
        </namedColor>
    </resources>

But additionally, there were LaunchScreenBackgroundColor.colorset definitions, looks as HEX instead of 0...1

{
  "colors" : [
    {
      "idiom" : "universal",
      "color" : {
        "color-space" : "srgb",
        "components" : {
          "alpha" : "255",  //<=========================== HEX instead of float
          "blue" : "0",
          "green" : "0",
          "red" : "0"
        }
      }
    },
    {
      "idiom" : "universal",
      "color" : {
        "color-space" : "srgb",
        "components" : {
          "alpha" : "255",    //<=========================== HEX instead of float
          "blue" : "0",
          "green" : "0",
          "red" : "0"
        }
      },
      "appearances" : [
        {
          "appearance" : "luminosity",
          "value" : "dark"
        }
      ]
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "RAD Studio"
  }
}

That looks like an issue with the RadStudio conversion of those flags HEX instead of float ,
but even when I handcode the .storyboard files, I cannot really see a difference (maybe because of caching).
I try to investigate this further.

 

Maybe the launchimage,  the too small icon 1.) and this color issue 2.) were all related somehow, but I cannot really spot the root cause.

I hope you can spot the issue here, and has some useful hints.

 

 

Edited by Rollo62

Share this post


Link to post

When I try to set different colors in the IDE, this can be used to set "fake" colors, at least for black color.
This should be right to set black background color.

 

Like that:
image.png.779760886c13b82d6919aaab6fe5066b.png


results in "float-like" output:

{
  "colors" : [
    {
      "idiom" : "universal",
      "color" : {
        "color-space" : "srgb",
        "components" : {
          "alpha" : "1",
          "blue" : "0",
          "green" : "0",
          "red" : "0"
        }
      }
    },
    {
      "idiom" : "universal",
      "color" : {
        "color-space" : "srgb",
        "components" : {
          "alpha" : "1",
          "blue" : "0",
          "green" : "0",
          "red" : "0"
        }
      },
      "appearances" : [
        {
          "appearance" : "luminosity",
          "value" : "dark"
        }
      ]
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "RAD Studio"
  }
}

Anyway, the issue with white background while BG/FG is still the same.

I assume it has something to do with Styles and TListView, not the storyboard colors.

 

Share this post


Link to post

Hi,

 

Had a bad time fixing this blank splash screen error. On my case was resolved by doing this steps:

 

1. Renamin delphi original project file and saving it again.

2. Delete scratch folder on MAC (to get it folder,  go to PAserver and type s)

3. Delete the app on the iphone

4. Restart the Iphone (Off and ON)

5. Recompile everything.

 

This worked for me. Hope that will be same for others.

Share this post


Link to post

Hi,

I want to share my recent experience on tis matter.  I faced with an odd thing related to this. I had a project which its launchscreen is shown. I changed its CFBundleDevelopmentRegion from en to tr and then launchscreen became invisible. Then, I changed CFBundleDevelopmentRegion from tr to en back. But, launcscreen was not changed. I checked everything related to the launcscreen. What I found is that, in the deployment page, launchscreen image files were missing. I checked the project options launcscreen image file definitions were correct.  After some trial and error, I found a solution to this. I changed launchscreen images to some other files and approved project options dialog , after that I changed launnchscreen image file definitions to the original files back and the problem is solved. All files were shown correctly in the deployment page and launchscreen image is shown on my device screen.         

Edited by Ömer Gözlek
converted developer language as CFBundleDevelopmentRegion and corrected some typing errors.

Share this post


Link to post

The advice here is good and very helpful, but I discovered I needed one more step so I'm sharing in case it is helpful for others.

 

I had quite a bit of trouble keeping up with iOS and I'd had various abandoned attempts at making a launch screen, moving from earlier versions of Delphi to 10.4 to 11.  

 

At some point in a previous version, I'd edited the info.plist.TemplateiOS and so a key to tell the App to use the LaunchScreen was missing; if you're opening a Delphi project built before Storyboards were used and like me you'd manually changed the template, you need to add it in:

 

<key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>

 

I copied this from a new blank application I'd finally got round to creating in Delphi 11... lesson learned: it is worth going through making a dummy Profile, creating a dummy app on App Store Connect and getting a "hello world" iOS app running for internal testing on TestFlight, just to check you've got everything working.

 

However, I don't seem to have happened on the right dimensions for the launch screen images yet... the Delphi default is the FM flame icon at 458x792 for iPad2x, and appears about one third of the width/height on my iPad.  I think it should be re-sizing the image, or something... would be nice if there were some built-in launch screen options for (say) a tabbed application in light and dark modes... the Launch screen on iOS is supposed to look like a simplified main form, right?  So something approximating a tabbed application layout without any text on the tabs would do for lots of apps I would have thought?  Isn't is possible to design the launch screen in XCode using components, rather than using .PNGs?  Or have I missed something?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×