Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-7664] iOS: Allow for custom Info.plist values via tiapp.xml

GitHub Issuen/a
TypeNew Feature
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2012-04-26T16:45:15.000+0000
Affected Version/sn/a
Fix Version/sRelease 2.1.0, Sprint 2012-09 Core
ComponentsiOS
Labelscore, iOS, module_build, parity, qe-testadded, tiapp.xml
ReporterShannon Hicks
AssigneeMax Stepanov
Created2012-01-23T15:38:06.000+0000
Updated2013-05-11T07:41:11.000+0000

Description

It would be great if we didn't have to create our own Info.plist file to override common values. We can already specify android manifest parameters in tiapp.xml. Examples: I need an app with a shorter name for the Home screen (Bundle Display Name) I would like to have a custom url scheme (URL Schemes array) I want to specify all my icon files for a universal app (Icon files) Since Info.plist is an XML file anyway, it seems like the same logic that went into the Android Manifest section of tiapp.xml could be applied here. This would be something *really great* to have in 1.9 to bring parity between iOS & Android.

Comments

  1. Max Stepanov 2012-04-23

    Example ** section in tiapp.xml:
    	<ios>
       		<plist>
       			<dict>
       			<key>UIApplicationExitsOnSuspend</key>
       			<true/>
       			<key>CFBundleDevelopmentRegion</key>
       			<string>German</string>
       			<key>CFBundleURLTypes</key>
       			<array>
       				<dict>
       					<key>CFBundleURLName</key>
       					<string>com.developer</string>
       					<key>CFBundleURLSchemes</key>
       					<array>
       						<string>dev</string>
       					</array>
       				</dict>
       			</array>
       			</dict>
       		</plist>
       	</ios>
       
    The existing ** section together with , and will be deprecated in the future.
  2. Max Stepanov 2012-04-23

    PR pending https://github.com/appcelerator/titanium_mobile/pull/2053
  3. Stephen Tramer 2012-04-26

    Testing

    ----

    Build an application with the tiapp.xml containing the segment above. Should have the following:

    ** CFBundleDevelopmentRegion = German ** CFBundleURLTypes includes a section with CFBundleURLName com.developer, and CFBundleURLScheme dev ** UIApplicationExitsOnSuspend = true

    Build an application with a tiapp.xml *without* the above segment. Should compile and run as normal.

  4. Shannon Hicks 2012-05-02

    The whole reason I submitted this ticket was so that I could change the CFBundleDisplayName in tiapp.xml instead of having to create a custom plist. My third most common use case is so that I can set multiple icons with CFBundleIconFiles. I specified both of the use-cases in my initial description, so closing this ticket as resolved isn't really accurate.
  5. Stephen Tramer 2012-05-02

    If CFBundleDisplayName cannot be properly overwritten, that is now a bug (not a feature). Please file a separate ticket for it rather than reopening this one.
  6. Max Stepanov 2012-05-02

    CFBundleDisplayName is a generated property which is copied from element is tiapp.xml CFBundleIconFiles is a generated property which automatically includes all application icon files from project directory.
  7. Mauro Parra-Miranda 2012-05-02

  8. Shannon Hicks 2012-05-02

    Max, That's exactly the problem, it's auto-generated according to the Name. I need different values for iOS and Android, because iOS doesn't provide as much space for the name on the home screen. I can customize things on the Android side by changing manifest properties in section of tiapp.xml, but can't in the section? That is not parity. :) I did find how to specify all the icons I want... [http://docs.appcelerator.com/titanium/2.0/index.html#!/guide/Icons_and_Splash_Screens]
  9. Michael Pettiford 2012-06-13

    Closing issue Tested with Ti Studio build 2.1.0.201206121914 Ti Mobile SDK 2.1.0.v20120612170248 hash r40ba370b OSX Lion 10.7.3 iPhone 4S OS 5.1 Tested with the sample segment. Since the fix did not include the ability to detect custom names for iOS and Android I did not test it.
  10. Fokke Zandbergen 2013-05-11

    The "Additional iOS steps" in the docs (http://docs.appcelerator.com/titanium/latest/#!/guide/Custom_Fonts-section-29004935_CustomFonts-AdditionaliOSsteps) should still be updated to reflect this.

JSON Source