cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shazron <>
Subject [iOS] Converting to use Xcode Workspaces (in cordova-ios 4.x)
Date Wed, 01 Apr 2015 00:41:35 GMT


I took it onto myself to create a proof of concept on how this could
work. Check out the README for the conversion details:

TLDR; The essence of it is:

1. There is a workspace that contains: CordovaLib, the user's project,
and N plugin framework projects
2. CordovaLib is no longer a subproject of the user's project
3. CordovaLib contains a target that will create a Cordova.framework
4. Plugins are iOS Framework projects (adding a plugin requires adding
an xml line in xcworkspace, and framework refs in the user's project )
5. Plugin JS is still installed by the CLI unless we find an alternative method
6. The CLI needs to be changed to do (4)

Implementation details are in the README referenced above.


This makes it all modular especially the plugins. Plugins are
frameworks instead of static libraries because some plugins contain
resource bundles that need to be included, and frameworks provide this
functionality. Workspaces have been there since Xcode 4, and are used
by a bunch of other package managers (Cococapods), it will be good to
work well with other packaging systems if we can. Also, plugin
installation is simplified.

Cordova is a framework so there will be no duplicate symbol problem
when linking a plugin into the user's project.


1. I haven't tested this on iOS 7 devices yet though (since iOS
frameworks are iOS 8 only -- but they should still work if weak
linked), I'll have to find a device and report back.
2. cordova-cli platform version issues: if cordova-ios 4.x supports
workspaces, and you are on a cordova-cli that doesn't know about the
new template format (but you installed the new platform anyway), it
won't work

Send me your comments, ideas, etc...

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message