Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-12652] iOS: Customized Default.png isn't taken into account when installing on physical device

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2013-04-10T20:54:10.000+0000
Affected Version/sRelease 3.0.0
Fix Version/sRelease 3.1.0
ComponentsiOS
LabelsSupportTeam, iphoneAssets, js, merge-3.0.2, qe-testadded, regression, triage
ReporterJean-Sébastien GALLOO
AssigneeIngo Muschenetz
Created2012-12-20T18:30:55.000+0000
Updated2013-04-10T20:54:17.000+0000

Description

There is a problem with Ti SDK 3.0.0.GA when we customize Default.png (/Resources/iphone) and install the app on device. Default.png isnt taken into account during compilation. First 1. I created an iPhone app 2. I compiled it in the simulator 3. I installed it on my iPhone through iTunes (normal process) Everything seemed ok. Then 1. I created custom Default.png (in Resources/iphone folder). I also customized (to be sure where the problem apply) Default@2x.png Default-568h@2x.png Default-Landscape.png Default-Portrait.png appicon.png 2. I compiled it in the simulator -> ok -> Default.png & so on are taken into account 3. I installed it on my iPhone through iTunes but Default.png is not taken into account. Default.png from Titanium is taken instead. It is possible to check this in Project folder/build/iphone/build/Debug-iphoneos/ProjectName/ where Default.png from Titanium (instead of mine) can be seen. Other Customized images (Default@2x.png etc) are present and ok. The problem apply only to Default.png Also To be sure, i also: 1. created a new app 2. customized all images in /Resources/iphone before launching it in simulator 3. built app on simulator -> ok 4. built app to install on device and Default.png isnt taken into account

Attachments

FileDateSize
Capture d’écran 2012-12-20 à 19.29.18.png2012-12-20T18:30:55.000+0000140333

Comments

  1. Jean-Sébastien GALLOO 2012-12-21

    Apparently, when you copy your Default.png image (located in /Resources/iphone) to /Resources/, customized Default.png is taken into account for installation on physical device. But if you do this, the Default.png image isnt taken into account in simulator (instead, you've got an alias to the Default.png in /Resources and black screen when launching in simulator). This simulator problem doesnt appear if you have installed to device before... I tested it several times and confirm this behaviour. Quite strange...dont know if you changed something about that in 3.0.0
  2. Jean-Sébastien GALLOO 2012-12-21

    I correct...this problem appear also if you have installed on device before.
  3. hamza ezzi 2012-12-26

    i have the same problem ...
  4. Seth Benjamin 2013-01-02

    Having the same issue, it would seem that the non-retina Default.png is being overwritten immediately after being copied. Simulator builds creates the symlink correctly, but "test" on-device builds overwrite the file the moment the build process starts resulting in the red appcelerator splash to appear. I haven't been able to pinpoint the problem area though. This is a pretty large issue considering people could overlook this and have their branding messed up in production. Possibly escalate?
  5. Seth Benjamin 2013-01-02

    I made a fix in the meantime, I don't know if this is the best way to handle it but for the sake of time (especially on my part as I have a lot of projects pending) here is the proposed fix for anyone on a time crunch: http://pastie.org/5613191 If anyone has a better fix for this please share!
  6. Chris Barber 2013-01-07

    We have verified the problem does exist. It's caused by some old garbage in the generated Xcode project. Specifically, the Xcode project copies the "Default.png", "debugger.plist", and "stylesheet.plist" from the myapp/build/iphone/Resources folder during the "Copy Bundle Resources" build phase which happens after the pre-compile phase and before the compile sources phase. We will be ripping out those 3 files from the Xcode project's "Copy Bundle Resources" build phase in the "TIMOB-8358 iOS: Feature to Localize the Default splash screen image" ticket. We will also investigate the removal of the myapp/build/iphone/Resources directory since it doesn't serve a real purpose other than to eat up disk space.
  7. Chris Barber 2013-01-25

    @Davide, are you working on this ticket or can I steal it from you?
  8. Blackbaud Mobile 2013-02-08

    Do we have an ETA on an official titanium fix for this? This is a critical issue for us!
  9. hamza ezzi 2013-02-11

    Hello, actually to resolve this problem, i am following this steps : 1- project clean 2- build project first time 3- build project second time ;) cordially
  10. Yury Skaletskiy 2013-02-11

    guys, it seems like a blocker, i cannot deploy apps without custom splash. But why are you set this on the 3.1, not on the 3.0-the-most-next-release?!
  11. Eric Merriman 2013-02-11

    Verified adding custom images in /resources/iphone shows on sim, device, package for: Default@2x.png Default-568h@2x.png Default-Landscape.png Default-Portrait.png Using: Titanium SDK version 3.0.2.v20130207164659 Titanium Studio, build: 3.0.2.201302041757 CLI version 3.0.24-cr CLI active SDK: 3.0.2.v20130207164659 On: iPhone 5 - iOS 6.0 iPhone 4s - iOS 5.0.1 iPhone 3GS - iOS 4.3 iPad Mini - iOS 6.0 iPad 4 - iOS 6.0.1 I used also all simulator type: iPad retina iPad iPhone retina iPhone iPhone 5 I ran on all devices and packaged ad-hoc for all devices. I was unable to reproduce the failure with 3.0.0.GA set in the project tiapp.xml, 3.0.0.GA set as active SDK in the CLI, and CLI 3.0.24cr. I tried stepping back to 3.0.20 and still had no luck. I used both /resources/ and /resources/iphone/ locations. @Jean-Sébastien: You might try the RC candidate. @all: Am I missing something in the configuration here for the fail case? I am hesitant to close this bug as fixed in 3.0.2 without seeing the failure. If anyone has any additional information, including CLI version or project structure I would appreciate it.
  12. Jean-Sébastien GALLOO 2013-02-12

    Hi, thanks for your feedback. your config (Titanium SDK & Studio) is quite different than mine (and other people) who get this problem. I will update Ti SDK & Studio and check if the problem is still here. I will provide feedback about this.
  13. Eric Merriman 2013-02-12

    Please note: Since we are testing 3.0.2 RC I will always attempt to reproduce using this latest configuration as well as the originally reported configuration. One additional item, please check if you are using a custom info.plist in your project. The contents of this are relevant to the behavior.
  14. Ingo Muschenetz 2013-02-12

    Once we get additional info, we'll be happy to reopen this ticket and revisit.
  15. Blackbaud Mobile 2013-02-13

    Eric, in your steps to reproduce you state the following images were used: Default@2x.png Default-568h@2x.png Default-Landscape.png Default-Portrait.png The description of the bug clearly states: "3. I installed it on my iPhone through iTunes but Default.png is not taken into account. Default.png from Titanium is taken instead." The issue is with the Default.png file only not the other resolution namings. Please retest on 3.0.0 GA and verify you are able to see a customized Default.png file. This is a critical issue for us, we want to start EAP and would like to distribute Ad-Hoc to a few select clients but cannot because the splash screen built with ad-hoc is the Appcelerator one. We are not using a custom info.plist, please elaborate on this. Can we add something in an info.plist to correct this behavior?
  16. Blackbaud Mobile 2013-02-13

    I can crack open my built ad-hoc IPA package and verify there I see the titanium specific Default.png file. I replace it with mine, re-install that edited ipa file and STILL I see the titanium splash screen!!
  17. Blackbaud Mobile 2013-02-13

    sorry, my last comment is not entirely correct. I made a mistake and did not install the correct ipa after editing. The ipa that i did edit will NOT install to the device. a message displays "The app was not installed on the iphone because its resources have been modified." Is there anyway i can work around this bug? Maybe those titanium images are in a resource file or other location that i can overwrite manually so my build will pull in my own image instead of the titanium one, in-spite of the bug? Please advise a workaround!
  18. Mark Ross 2013-02-13

    I can also confirm what Blackbaud is seeing. When I create an Ad-Hoc ipa file, unzip it and show the package contents of the .app file, the Default.png file is the red Titanium image. I do NOT see this behavior when using the simulator. It's only when packaging for an Ad-Hoc build (so far, I haven't created a proper Apple release build). I am using a custom info.plist so if you need the contents, I can post them. I'm using 3.0.0.GA on a mac with Ti Studio 3.0.1.
  19. Mark Ross 2013-02-13

    I will also add that my custom Default.png and Default@2x.png files are located in the {app}/Resources/iphone/ folder and are NOT in the base /Resources folder
  20. Mark Ross 2013-02-13

    Blackbaud (and anyone who needs a temp fix): Find the resources folder your SDK folder for 3.0.0.GA. For me its located here: /Users/{user}/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.GA/iphone/resources/ Replace the red Titanium Default.png file with your own custom file. Build an Ad-Hoc distribution file and your custom file should be used. If you have multiple apps, of course you'll need to replace it each time you build (per app).
  21. Eric Merriman 2013-02-13

    @BlackBaud: Just to be clear, I tested both configurations I mentioned. The SDK RC candidate for 3.0.2 as well as the 3.0.0.GA. With step three I need to make some assumptions. Installation onto device using iTunes can happen a few ways: You could be using the CLI, or Studio to build. You could be running on device, or packaging for ad-hoc distribution and then dropping in to iTunes. You could even package for distribution, and re code-sign as ad-hoc then use that to install via itunes. What I did was to run in simulator using studio, run on device from studio, and package ad-hoc and installed on device using iTunes. I ran all the image files on all the devices to be sure there was no issue with any of them. Part of my responsibility here is to ensure that this whole area works as expected. The custom info.plist behavior changed with 3.0 with regards to how the information would be merged into your project. If you are not using one, you don't need to start. Since it's possible to include splash info in the custom file, and this would be merged with tiapp.xml to create the final info.plist during build, I wanted to be able to rule out the possibility of a conflict there. I will re-test with with a fresh 3.0.0.GA setup. We have seen issue where data (push, icons, images) persists through app delete and reinstall. This could be the reason I did not get the fail case. However, if it does fail, this will only further support the behavior has been fixed in 3.0.2. I'll get back to you asap.
  22. Eric Merriman 2013-02-13

    @Mark Ross Thanks Mark. The dev team and I are confident in the fix in 3.0.2. We are packaging ad-hoc now with a clean 3.0.0.GA to verify the fail case. We have already packaged ad-hoc with 3.0.2. This whole area was reworked, which is why we have no specific commit associated with this ticket. Your image location is fine. I must test both locations.
  23. Eric Merriman 2013-02-13

    We were able to verify the fail case. Tested configuration was: Titanium Studio, build: 3.0.2.201302081641 Titanium SDK, build: 3.0.0.GA CLI 3.0.23 / CLI active build 3.0.0.GA Xcode 4.6 / iOS SDK for compile 6.1 Devices: iPhone 3GS iOS 4.3 Verified failure on device, as well as unzipping ipa showed incorrect .png. Verified fixed in: Titanium SDK version 3.0.2.v20130207164659 Titanium Studio, build: 3.0.2.201302041757 CLI version 3.0.24-cr CLI active SDK: 3.0.2.v20130207164659 Verified correct behavior on device, as well as unzipping ipa showed correct .png
  24. Ingo Muschenetz 2013-02-13

    Based on testing from QE, this is fixed in 3.0.2
  25. Olga Romero 2013-03-01

    Verified fixed in: Titanium Studio, build: 3.0.2.201302191606 Titanium SDK, build: 3.1.0.v20130228214607 Titanium SDK, build: 3.0.0.GA CLI version 3.0.24 CLI active SDK: 3.1.0.v20130228214607
  26. Tim Keir 2013-04-09

    I'm still having issues with the new SDK 3.1 beta from the blog announcement. http://developer.appcelerator.com/blog/2013/04/titanium-sdkstudio-3-1-0-beta-now-available.html Titanium Studio: build 3.1.0.201304051530 (from the Ti Studio RC's stream) Titanium Mobile SDK: build 3.1.0.v20130402175640 Alloy 1.1.0-beta via npm Titanium Code Processor: build 1.0.0-beta via npm Titanium 3.1.0-beta via npm Using 3.1 SDK beta It's now worse, I'm only seeing the correct splash image on iPad Retina, all other devices/densities use the default red Appcelerator splash images. Additionally I no longer have my app icon correctly shown. Not even the grey default App Icon. It's now just a plain white icon.
  27. Eric Merriman 2013-04-09

    @Tim, Looks like we should verify this hasn't been subsequently broken.
  28. Eric Merriman 2013-04-09

    @Tim, how is your project structured with regards to images and splash screens? Not sure how you could get the red default splash if it isn't included in your project. There was a problem with an older 3.0.x CI build that overwrote the icon from the template we use... Regarding the icon: There is a known and fixed (in the RC) bug with the app icon in simulator only showing as white. I'll take a look at this.
  29. Tim Keir 2013-04-09

    Hi Eric, Thanks. My project is setup to target iPhone, iPad, Android. I'm using Titanium on OSX 10.8.3. I'm using Alloy. I have the iOS splash images and icons within /app/iphone/. Additionally I'm using the section of the tiapp.xml to specify prerendered icon. Under 3.0.2.GA only non retina iPad had the red splash screen. I was able to fix this using http://pastie.org/5613191 from Seth Benjamin. That's why there's a clone of my Default-Portrait.png within /platform/iphone/. The same fix didn't work when applied to 3.1.0.v20130402175640. I've since removed the fix from that SDK, and even removed and reinstalled everything via npm/studio. Under 3.1 beta my appicon.png isn't copied across for any device, instead appearing as a blank white icon, and my correct splash screen image only works for iPad Retina, so all other iOS devices see the red Appcelerator splash image. Although not shown in the below screenshot the app icon XML looks like this:
        <icon>appicon.png</icon>
        
    See the screenshot here. !http://www.randomhouse.com.au/titanium-project.png! Cheers, Tim
  30. Tim Keir 2013-04-09

    Hi Eric, Scratch that. I've got it working by manually deleting the /Resources/ folder and /build/ within Finder. I just recompiled and the splash images and icons are now working correctly! Apologies, I was under the impression that running the Project->Clean command within Titanium Studio was the equivalent of deleting those folder's contents. The 3.1 beta SDK does indeed solve the issue. I'm unsure what was causing my previous issues but at least it's resolved now. Cheers, Tim
  31. Eric Merriman 2013-04-10

    @Tim, no worries. good news. Will re-close.

JSON Source