How to deal with the ios Launch files - titanium

It has been a while since I created my last app and I missed the change with the launch file (since titanium 5.2.0).
I want my app to have a custom splashscreen (full screen image). In the past I used the various png files for the splashscreens Default.png, Default#2x.png etc.
I'm testing with the launch file and the custom Storyboard. At the moment it's not clear to me how I can achieve the behavior i want: A full screen image in the splash screen.
What is the best approach?
Thanks for the help.

Go to http://docs.appcelerator.com/platform/latest/#!/guide/Icons_and_Splash_Screens-section-29004897_IconsandSplashScreens-iOSgraphicassetrequirementsandoptions and take a look at the Purpose column. You'll see 9 splash screen sizes. You have to make each of them and put them in app/assets/iphone. Note that you have to name them exactly as told in the table.
This worked for me, Ti-5.4.0 tested on iPhone 7, iPad Air, iPhone 4S and iPhone 6S Plus.

Since version 5.2 storyboards were introduced. You can use them or you can disable it and use the "old" method to implement splashscreens.
To disable it, add this to tiapp: (of course, within the existing ios section in tiapp
<ios>
<enable-launch-screen-storyboard>false</enable-launch-screen-storyboard>
</ios>
To use it, look at the documentation how to implement it correctly.

Related

Xcode added Default-568#2x.png

About a week ago xcode showed me some error and when I clicked to solve the problem, xcode added this picture:
My questions are: What is it good for? Why do I need it?
Thank you.
Yes you must include one.
From Apple's Interface Guidelines
To enhance the user’s experience at app launch, you must provide at least one launch image. A launch image looks very similar to the first screen your app displays. iOS displays this image instantly when the user starts your app and until the app is fully ready to use. As soon as your app is ready for use, your app displays its first screen, replacing the launch placeholder image.
Without this default image (or a LaunchScreen storyboard), your app would not take all the available screen space on iPhones with 4" displays (iPhone 5, 5s, SE). This is the default image that those iPhones would use.
Of course you can (should!) change it with the one you designed.
Runtime, leading to the top and bottom of applications were empty out a lot , because the application is based on a 320x480 size to run.

Images.xcassets not working for specific devices in universal application Xcode 5, iOS 7

I'm updating iOS 6 universal application (for both - iPhone and iPad) to iOS 7 and I want to use Images.xcassets to store images in it.
For universal images (like some buttons which are the same on iPhone and iPad) this storage is working properly. But for the device specific images it is not working and I'm getting following errors on iPhone simulator:
CUICatalog: Can't find rendition for name: search_next scale factor: 2 device idiom: 1 device subtype: 568
Could not load the "search_next" image referenced from a nib in the bundle with identifier "sk.company.app"
But the image is there:
When I add universal image to this asset, it is working:
I tried this same in blank application and it's working perfectly fine, so I think it's something wrong with options, but I can't figure out where.
I more hint: the first scenario (only specific images in asset) is working, when I switch universal app to iPhone only app in project settings.
For Universal Application always use naming convention recommended by Apple. For example you have a button image, place images for both iPhone and iPad e.g.
Button~iphone.png
Button#2x~iphone.png
and For iPad
Button~ipad.png
Button#2x~ipad.png
When you will do that you will not get error "CUICatalog: Can't find rendition for name:" Thanks :)
Looks like it had something to do with CocoaPods. After update, everything works fine.
The solution is given in the error message:
"Could not load the 'search_next' image referenced from a nib
in the bundle …"
If you look at your screenshot, you'll see that the image is named "search_next#2x -2 .png", where it should be named "search_next#2x.png". The "-2" has probably been added when you dragged another image somewhere, while the #2x version was already present.
If you solved it by updating CocoaPods it was an issue of a library, but the solution has really nothing to do with CocoaPods.

Is there a different way to view the iOS Simulator in Xcode 5 / Am I viewing my button correctly?

So I'm doing the Ray Wenderlich tutorials on iOS, and I'm doing the button tutorial. When I run the app, I get something that looks like this:
I have two questions:
I often see simulators show up in the form of an actual iPhone and was wondering if that was possible, or if that rectangle is the only way to view it?
The reason I'm asking is when I connected the button to an action (It says 'Pressed!'). So, is it supposed to show up in the box (bottom right) only, or should it should up on the simulator itself- mimicking what the user would see on-screen?
Regarding your first question: Probably a problem with screen size. See also here How can I restore the iPad frame around iOS Simulator 5.1?
The output seen in the screenshot is produced with NSLog and won't be seen on the device. You need to add an UILabel or such and set its text.
In the Simulator menu, try selecting Window then Scale and go to 50%. The retina models are far too big on my screen. Also, the old iOS 6 simulator with standard iPhone did look like a real phone, so examples from a while ago will look different.
If you want to support iOS 6.x, you can load it into Xcode. From Xcode main menu, select Xcode and then Preferences, and go to the Downloads tab.

Display App in 3.5" Resolution on iPhone 5 for Development/Debugging

Does anyone know if there is a way to force an app you're developing to run in a 3.5" screen size mode if you're on an iPhone 5, just for dev/debug purposes? Something such as what might look like a toggle in the Development section of Settings or something. In other words, run the app such that it LOOKS like it's running on a non-5 iPhone (black bars on top/bottom), that way I can test certain UI functions.
For clarification, I'm NOT saying "I don't want to support iPhone 5" - I most certainly do. Also, I'm aware that I can do the 'old' retina display in the simulator, but I do not want to use the iOS Simulator as the app includes libraries that do not support i386 architecture, uses push notifications, and heavily relies on GPS to function correctly. I'm just looking for a way to test both aspect ratios on the same device to save money/time.
Thank you!
It appears that by removing the app from device, deleting the Default-568h#2x.png launch image, cleaning the project, and re-running app, I can get the functionality I'm looking for, although not as nicely as a toggle switch.
Letter box in iPhone5

Managing an iOS app across different platforms

I have an iOS 5.0 app presently and had a few questions regarding deploying the app across multiple platform and multiple OS upgrades. I would like to know if there is a clean and configurable system that allows me to have one project handle deployment to the iPhone iOS5 and iOS6 and the latest iPad iOS without having ugly selection statements everywhere determining the platform the app is being currently run on. So I would like to know if there is a way to manage the code from a dev prespective so i can support all version/platform specific features of my app depending on what platform/version it is being currently run on (for ex. automatically switching to use the longer dimension background images if the app is being run on an iPhone 5 with iOS 6)
Is there any way to have this functionality?
I am slightly confused with your question, but I'll explain what I know. Xcode already has a way to change your app depending on what Device/iOS Version the user is running. If you use storyboards, then it will automatically resize your app content depending on whether the screen has retina support, and the size of the screen. In addition, you can have a storyboard for iPad, so that when you run the app it will use the iPad version. It also will change the app icons. Just go to the project settings and scroll down until your get to the icons and lunch images.
Now, if you mean you want to change how your app works using the source code directly, then there is no easy to way to manage it. Your best bet is to go with Storyboards, as it makes it very easy to resize content depending on what device your using.