Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-6899] iOS: Tooling - provide lib folder to allow external libraries to be compiled into module package

GitHub Issuen/a
TypeBug
PriorityLow
StatusClosed
ResolutionWon't Do
Resolution Date2020-01-09T19:36:04.000+0000
Affected Version/sRelease 1.7.5
Fix Version/sn/a
ComponentsTooling
Labelscb-tooling
ReporterDavid Rodriguez
AssigneeIngo Muschenetz
Created2011-12-11T14:46:49.000+0000
Updated2020-01-09T19:36:04.000+0000

Description

Problem

Note: This ticket requests parity between iOS and Android If you start a new iOS module and need to add an outside framework or library that needs to get distributed with your application, as of now you need to use module.xcconfig to specify the FRAMEWORK_PATH for your module. It's not clear to developers, even from the documentation, that if you include a framework that's not part of the standard iOS API, the module will not compile on other people's machines. This is a problem if a module is being distributed on the marketplace.

Request / Solution

A place for external frameworks and libraries to be compiled into the final module package. Android does this with the lib folder. For parity, iOS should do the same. A workaround to the above is to include the framework in the assets folder but anything in the assets folder gets included in the final API Resources which is bad since it severely bloats the application. Another workaround is to have a /lib or /frameworks folder in the module in which the build.py folder makes sure to include the files in the zipped module folder without it ending up in the final application assets. Also it would be nice if the build.py file would automatically insert the appropriate FRAMEWORK_PATHS in the module.xcconfig file so that the module's libraries and frameworks can be found.

Test case

I've attached an example module.xcconfig and build.py that searches in the project (that it's being used in) directory and in the global titanium modules directory. This was used in my Parse API Module in the marketplace to address these issues. The only changes in the build.py file are that it looks in a folder called frameworks and includes it in the module zip file. It also replaces the version number in the module.xcconfig as this is necessary to find the frameworks folder at compile time from the module.

Attachments

FileDateSize
build.py2011-12-11T14:46:49.000+00006386
module.xcconfig2011-12-11T14:46:49.000+00001213

Comments

  1. Alan Hutton 2020-01-09

    It has been decided that this issue should be closed as “Won’t do.” This issue is out of date with our current supported SDK release (7.5.2.GA as of the date of closure), and out of date with mobile OS versions. If community members feel that the issue is still valid, please create a new ticket. Please reference this closed ticket number, include SDK used, comments, and code that demonstrates/reproduces the issue.

JSON Source