You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by Anis KADRI <an...@gmail.com> on 2014/04/16 02:42:33 UTC

[iOS] CB-6441 System frameworks issue

There are currently a lot people reporting this issue on the google groups.

iOS frameworks don't get added when plugin with dependencies gets
installed. It's a big problem because projects don't compile.

A great example of this is: mobile-spec/dependencies-plugin/. It seems like
the double caching of pbxproject file in plugman (platforms,
config-changes) is causing this and deleting this line [1] fixes it.

<sidenote>this would have been easier for me to figure out if everything
was broken out into shorter discreet modules. Instead it took me several
hours.</sidenote>

The change was introduced with this pull request it seems:
https://github.com/apache/cordova-plugman/pull/45/files

I am not sure what the proper fix is. I love performance but I love
reliability even more. I think ideally we'd have one cache shared across
modules but we need an immediate fix for this so unless someone thinks they
can implement it before the next release I propose that we don't use the
cache for the time being.

Thoughts ?

[1]
https://git-wip-us.apache.org/repos/asf?p=cordova-plugman.git;a=blob;f=src/platforms/ios.js;h=9631e6450c4481def593a8043519d2e55a9e69f2;hb=HEAD#l156

Re: [iOS] CB-6441 System frameworks issue

Posted by Mark Koudritsky <ka...@google.com>.
The cache in ConfigKeeper is meant to make cordova prepare faster.
The second cache on the line linked to by Anis was done for faster plugin
add.
But as the comment above that line says (added it myself in Feb), since the
linked pull request added the functionality to pass a list of plugins to
install, that cache shouldn't be helpful any longer.

Re: [iOS] CB-6441 System frameworks issue

Posted by Shazron <sh...@gmail.com>.
I can confirm this problem occurs too frequently on the Google Groups.
Users install plugins and they get linker errors, or compile errors,
because some files/frameworks do not exist in the Xcode project after
installing a plugin. Often the fix is to uninstall and re-install, thus the
problem seems to be in the CLI and not the plugin structure itself.

I would opt for 100% reliability versus speed in this case, since
installing plugins is a one-time thing usually for a project.


On Tue, Apr 15, 2014 at 5:42 PM, Anis KADRI <an...@gmail.com> wrote:

> There are currently a lot people reporting this issue on the google groups.
>
> iOS frameworks don't get added when plugin with dependencies gets
> installed. It's a big problem because projects don't compile.
>
> A great example of this is: mobile-spec/dependencies-plugin/. It seems like
> the double caching of pbxproject file in plugman (platforms,
> config-changes) is causing this and deleting this line [1] fixes it.
>
> <sidenote>this would have been easier for me to figure out if everything
> was broken out into shorter discreet modules. Instead it took me several
> hours.</sidenote>
>
> The change was introduced with this pull request it seems:
> https://github.com/apache/cordova-plugman/pull/45/files
>
> I am not sure what the proper fix is. I love performance but I love
> reliability even more. I think ideally we'd have one cache shared across
> modules but we need an immediate fix for this so unless someone thinks they
> can implement it before the next release I propose that we don't use the
> cache for the time being.
>
> Thoughts ?
>
> [1]
>
> https://git-wip-us.apache.org/repos/asf?p=cordova-plugman.git;a=blob;f=src/platforms/ios.js;h=9631e6450c4481def593a8043519d2e55a9e69f2;hb=HEAD#l156
>

Re: [iOS] CB-6441 System frameworks issue

Posted by James Jong <wj...@gmail.com>.
+1 to removing the cache.  Reliability is more important.
-James Jong

On Apr 15, 2014, at 8:42 PM, Anis KADRI <an...@gmail.com> wrote:

> There are currently a lot people reporting this issue on the google groups.
> 
> iOS frameworks don't get added when plugin with dependencies gets
> installed. It's a big problem because projects don't compile.
> 
> A great example of this is: mobile-spec/dependencies-plugin/. It seems like
> the double caching of pbxproject file in plugman (platforms,
> config-changes) is causing this and deleting this line [1] fixes it.
> 
> <sidenote>this would have been easier for me to figure out if everything
> was broken out into shorter discreet modules. Instead it took me several
> hours.</sidenote>
> 
> The change was introduced with this pull request it seems:
> https://github.com/apache/cordova-plugman/pull/45/files
> 
> I am not sure what the proper fix is. I love performance but I love
> reliability even more. I think ideally we'd have one cache shared across
> modules but we need an immediate fix for this so unless someone thinks they
> can implement it before the next release I propose that we don't use the
> cache for the time being.
> 
> Thoughts ?
> 
> [1]
> https://git-wip-us.apache.org/repos/asf?p=cordova-plugman.git;a=blob;f=src/platforms/ios.js;h=9631e6450c4481def593a8043519d2e55a9e69f2;hb=HEAD#l156