Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-14608] iOS 7: Icon architecture changes required for iOS 7

GitHub Issuen/a
TypeNew Feature
PriorityCritical
StatusClosed
ResolutionFixed
Resolution Date2013-07-26T18:50:03.000+0000
Affected Version/sRelease 3.1.2
Fix Version/s2013 Sprint 15 API, 2013 Sprint 15, Release 3.1.2, Release 3.2.0
ComponentsiOS, Tooling
Labelsios7
ReporterEric Merriman
AssigneeSabil Rahim
Created2013-07-18T23:07:47.000+0000
Updated2015-06-12T15:55:15.000+0000

Description

Description:

iOS 7 changes the way icon files are handled. With iOS 6, the titanium build process would look for the main icon (selected via studio) and then look for the naming-convention compliant other icon files and generate the appropriate plist entries. With iOS 7, files need not be named in any particular way (perhaps the naming convention was not needed earlier but remained in our builds), and the OS chooses the most appropriate icon based on size. The problem is that since our build process looks for the appropriately named files (appicon.png, appicon@2x.png, appicon-small.png, etc...) starting with the selected icon in studio, other icon files are not included. For projects supporting iOS 6 and iOS 7, it's easy enough to create the numerous icons required, but no way to include them in the plist unless it's done manually. If selecting "appicon.png" (57 x 57 non-retina iPhone) in such a project with the 18 icons required for a universal app support iOS 6 & 7 (some are required, some optional, and some recommended) when running on iOS 6, all will be as expected. Running this on iOS 7 iPhone 5 will show you the nearest to the 120 x 120 icon, which in this case is the iOS 6 retina iPad icon at 114 x 114. This is because the new icons will not be included in the info.plist. Selecting one of the new iOS 7-sized icons will only include that single icon in the plist, since the other files do not have the expected naming convention. We must find a way to support generating an info.plist that includes the expected icons, especially in cases where iOS 6 and 7 are to be supported.

Steps to reproduce:

1) Create a project including the 18 icons for primary support of iOS 6 and 7 A combination of fruit and other icons are attached. Fruit are iOS 6-sized, and the others are iOS 7-sized. 2) Select an icon in your tiapp.xml editor 3) run on iPhone retina, iPad retina, iPad non-retina (Non-retina iPhones and iPod are not supported in iOS 7 as far as I can tell.)

Result:

If selecting an iOS 7-sized Icon, only that icon will appear in the plist and subsequently on device. If selecting an iOS 6-sized icon, that file plus any icons following the iOS naming convention will appear in the plist, and whatever is appropriate for the device will be shown for settings, search, and home screen icon.

Expected Result:

iOS 7 icons all copied over and these icons shown in appropriate locations

Notes:

Check here for Icon info (log in to developer account) https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/MobileHIG.pdf

Attachments

FileDateSize
Archive.zip2013-07-18T23:07:47.000+00005230706

Comments

  1. Sabil Rahim 2013-07-26

    Master PR :: https://github.com/appcelerator/titanium_mobile/pull/4500 3_1_X PR :: https://github.com/appcelerator/titanium_mobile/pull/4501 Introducing two new icons appicon-60 &60@2x , appicon-Small-40.png &40@2x.png

    Testing Instruction

    According to apple in iOS 7 all we have to do include all the icons needed in the build project and include them in the CFBundleIconFiles inside info.plist

    Steps.

    - Import this [project](https://dl.dropboxusercontent.com/u/43336767/icontest.zip) into studio - Build for device. - find the build .ipa ,rename it to .zip and open it up. - Check to verify that all the icons are inside the build folder - Check to verify that all the icons inside the build folder are mentioned inside the inside info.plist
  2. Vishal Duggal 2013-07-26

    PR's merged. Passed functional as described in the test case
  3. Olga Romero 2013-07-30

  4. Lokesh Choudhary 2013-08-29

    Verified the fix & we see the 4 new icons in the ipa file Closing. Environment: Appcel Studio : 3.1.3.201308252005 Ti SDK : 3.1.3.v20130828144312 Mac OSX : 10.8.4

JSON Source