[TIMOB-18835] iOS: Conditionally link required libraries/Framework at runtime
GitHub Issue | n/a |
---|---|
Type | Improvement |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2015-04-29T16:13:28.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 4.1.0 |
Components | iOS |
Labels | jscore-migration |
Reporter | Vishal Duggal |
Assignee | Vishal Duggal |
Created | 2015-04-15T18:42:43.000+0000 |
Updated | 2015-06-29T18:53:40.000+0000 |
Description
Currently TiCore, Debugger and Profiler are weak linked to the project. Once TIMOB-18834 is complete, JavaScriptCore framework will also be weak linked. We need to remove these links from the project and link the libraries from CLI at build time
Pull pending master - https://github.com/appcelerator/titanium_mobile/pull/6806 Use new property in tiapp.xml under the iOS tag
This property controls #define USE_JSCORE_FRAMEWORK in defines.h Testing instructions (For both Sim/Device builds): 1. Leave the tag out and you should be able to build and run the application. Check defines.h and ensure that it does not include #define USE_JSCORE_FRAMEWORK. 2. Include and set property to false. Behavior should be same as above. 3. Include and set to true. You should be able to build and run the application. Check the defines.h file. It must include the #define USE_JSCORE_FRAMEWORK 4. Leave property at true and try to Debug/Profile the application. The property will be ignored. Check defines.h and ensure that it does not include #define USE_JSCORE_FRAMEWORK. 5. Build for production with property set to true or false. It must pass validation.
Verified fixed, using: MacOS 10.11 Studio 4.1.0.201506261427 Ti SDK 4.1.0.v20150626084425 Appc NPM 4.1.0-1 Appc CLI 4.1.0-4 Ti CLI 4.0.1 Alloy 1.6.2 Node v0.10.37 Java 1.7.0_45 Can successfully set USE_JSCORE_FRAMEWORK by setting the use-jscore-framework property in the tiapp.xml.