Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-12011] CLI: iOS: UIPrerenderedIcon ignored and icons are always glossy

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionInvalid
Resolution Date2012-12-10T22:53:11.000+0000
Affected Version/sRelease 3.0.0
Fix Version/s2012 Sprint 25, 2012 Sprint 25 JS
ComponentsCLI
Labelstriage
ReporterChris Barber
AssigneeChris Barber
Created2012-12-10T07:12:54.000+0000
Updated2013-03-13T18:59:29.000+0000

Description

According to Marco Ferreira, "I noticed when deploying the app to the device (adhoc and installing with iTunes) the app icon always gets the gloss, which means its not respecting the UIPrerenderedIcon property in tiapp.xml." This will require some investigation.

Attachments

FileDateSize
gloss in app list.png2012-12-11T19:54:07.000+000026919
gloss in library.png2012-12-11T19:54:46.000+000041902
gloss in sim.png2012-12-11T19:54:46.000+000085279
gloss on device.png2012-12-11T19:54:46.000+00001018667
itunes asking to update version.png2012-12-11T19:54:46.000+000030889
updated app after update clicked.png2012-12-11T19:54:46.000+000027206
updated app previously synced.png2012-12-11T19:54:46.000+000026855

Comments

  1. Eric Merriman 2012-12-10

    Verified occurs with: SDK: 3.0.0.v20121207120202 Titanium Studio, build: 3.0.0.201212061921 Mac OS X 10.8.2 Xcode 4.5.2 CLI: 3.0.20
  2. Eric Merriman 2012-12-10

    Disregard my previous comment. Had the XML out of sorts. This works for me with Ad-hoc distribution installing through iTunes. Icon in iTunes has no gloss and icon on device has no gloss.
       <ios>
               <plist>
                   <dict>
                   	<key>UIPrerenderedIcon</key>
                  		 <true/>
                       <key>UISupportedInterfaceOrientations</key>
                       <array>
                           <string>UIInterfaceOrientationPortrait</string>
                           <string>UIInterfaceOrientationPortraitUpsideDown</string>
                           <string>UIInterfaceOrientationLandscapeLeft</string>
                           <string>UIInterfaceOrientationLandscapeRight</string>
                       </array>
                   </dict>
               </plist>
           </ios>
       
  3. Chris Barber 2012-12-10

    This is a non-issue. Everything works as expected.
  4. Marco Ferreira 2012-12-11

    I'm having this issue for a long time and it's still happening with the latest CLI. Note this is only happening using the CLI. Starting Studio bypassing CLI will build my app as expected and icon prerender setting is respected. This is my chunk from tiapp.xml:
           <ios>
               <ios-version>6.0</ios-version>
               <min-ios-ver>5.1</min-ios-ver>
               <plist>
                   <dict>
                       <key>UIPrerenderedIcon</key>
                       <true/>
                       <key>UIStatusBarStyle</key>
                       <string>UIStatusBarStyleBlackOpaque</string>
                       <key>UIRequiresPersistentWiFi</key>
                       <false/>
                       <key>UIStatusBarHidden</key>
                       <false/>
                       <key>UISupportedInterfaceOrientations~iphone</key>
                       <array>
                           <string>UIInterfaceOrientationPortrait</string>
                       </array>
                       <key>UISupportedInterfaceOrientations~ipad</key>
                       <array>
                           <string>UIInterfaceOrientationPortrait</string>
                           <string>UIInterfaceOrientationPortraitUpsideDown</string>
                           <string>UIInterfaceOrientationLandscapeLeft</string>
                           <string>UIInterfaceOrientationLandscapeRight</string>
                       </array>
                   </dict>
               </plist>
           </ios>
       
    I don't see any difference from what Chris posted above, but correct me if I'm wrong.
  5. Chris Barber 2012-12-11

    @Marco, your tiapp.xml looks fine. Next I need to find out a bunch of things. First, from the command line, run "titanium" and report back in this ticket the CLI version and SDK version from the first line of output. Second, change directory into your project, then run "titanium build --platform ios --target dist-adhoc". You'll need to specify the distribution name, output directory, and provisioning profile uuid. When the build finishes, drag the ipa file from the output directory into iTunes so that you can sync and test.
  6. Marco Ferreira 2012-12-11

    $ titanium Titanium Command-Line Interface, CLI version 3.0.20, Titanium SDK version 3.1.0.v20121128155800 I'm not using 3.1.0 as the output may tell, I'm with 3.0.0.v20121207120202 right now. Project builds successfully, but for some reason iTunes doesn't recognize this build as an update for the app so it doesn't update the app on my device. (most likely a seperate issue) After deleting the app from my device and installing the new build, the app icon has the gloss.
  7. Chris Barber 2012-12-11

    @Marco, OK, sounds like your "active" Titanium SDK is set to 3.1.0.v20121128155800 and your tiapp.xml's sdk-version is set to 3.0.0.v20121207120202. That should be fine. I have a couple of questions: 1) What version of iTunes do you have? 2) Does it error when installing the app in iTunes or when you sync your device? One thing you can try is going into iTunes, then go to the apps screen. Find your app and delete it. You can delete the app from your device too. Then drop the ipa file back into iTunes and sync your device.
  8. Eric Merriman 2012-12-11

    Hello, Using the TiApp.xml from Marco's project, I used only the CLI (now 3.0.21) to build for simulator, then on device. I am running: SDK 3.0.0.v20121210171701 Active sdk set in CLI with "ti sdk select 3.0.0.v20121210171701" Target iOS SDK: 6.0 Xcode 4.5.2 iTunes: 11 Simulator showed gloss/no gloss correctly (app icon), iTunes showed gloss correctly (iTunesArtwork), device showed gloss correctly (app icon). See attached screenshots. Regarding iTunes updating for newer versions: Creating a "for device" build when the app has previously been built caused iTunes to prompt me to replace. When already synced to device, iTunes marked the new app as "update" and the button must be clicked for the sync to actually update. This additional step was not required in iTunes 10. See screens.
  9. Marco Ferreira 2012-12-11

    @Chris 1. iTunes 11 2. No error I did exactly that when testing the CLI as you suggested. @Eric After the build is completed by the CLI, I get the same request from iTunes you mentioned - "Replace?" - and I just answer to replace it, but unfortunetly it seems iTunes (or the CLI) sees it as the same version I already have installed on the device.
  10. Eric Merriman 2012-12-12

    @Marco, are you using a custom info.plist that includes a version? If so, the version for your app will remain static at that version and so iTunes will not regard it as changed. We are writing another bug to document this and I will relate the two.
  11. Eric Merriman 2012-12-12

    One other thing to note, I will be verifying that custom info.plist is not stomping on the values set in Tiapp.xml.
  12. Marco Ferreira 2012-12-12

    Yes I have a custom info.plist. This was exactly what i remembered that could be causing it. I was using the custom plist to add a custom font, but since tiapp.xml already supports adding plist keys, I've deleted the custom plist. Removing the custom plist solves the problem.
  13. Eric Merriman 2013-03-04

    Closing based on comments above. If we need another bug for some issue with the custom plist we will open one.

JSON Source