You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Roberto Andrade (JIRA)" <ji...@apache.org> on 2015/11/18 17:56:11 UTC

[jira] [Updated] (CB-10034) Plugins iOS Custom Frameworks are added to "Embedded Binaries" XCode project section by default

     [ https://issues.apache.org/jira/browse/CB-10034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roberto Andrade updated CB-10034:
---------------------------------
    Description: 
Since CB-9517 was merged and released in 5.3.0 it seems to have changed the approach to adding a "custom framework" dependency declared in {{plugin.xml}} with the {{<framework custom="true"/>}} directive into the xcode project, as per the [following change|https://github.com/apache/cordova-lib/commit/737f2df4e5c8de205c90cc29614483ebcd71f605].

It assumes all frameworks are "embeddable", which is not true for a great chunk of frameworks out there that have not being built with the new iOS 8/XCode 6 Cocoa Framework architecture. Most of the frameworks I use (developed prior to Apple coming up with the "official" iOS 8 Framework utilities and Xcode project options) use community provided [iOS-Universal-Framework|https://github.com/kstenerud/iOS-Universal-Framework], which once an artifact generated using that project template gets added to the "embedded binaries" section of a depending app (ie: Cordova app), Xcode has issues doing its thing because they were not built with the iOS 8 framework magic in it.

I suggest that the new behavior be the default (ie: add it to the embedded binaries section) but provide an option when declaring the framework dependency in {[plugin.xml}} so that we can override the behavior and specify whether or not we want it to the embedded (at that point the old <=5.2.0 behavior should take over, ie: just add it to the list of framework dependencies but not the the embedded binaries section of the project), may I suggest:

{{<framework custom="true" embed="false"/>}}

as the optional override (being assumed as {{true}} by default)?

  was:
Since CB-9517 was merged and released in 5.3.0 it seems to have changed the approach to adding a "custom framework" dependency declared in {{plugin.xml}} with the {{<framework custom="true"/>}} directive into the xcode project, as per the [following change|https://github.com/apache/cordova-lib/commit/737f2df4e5c8de205c90cc29614483ebcd71f605].

It assumes all frameworks are "embeddable", which is not true for a great chunk of frameworks out there that have not being built with the new iOS 8/XCode 6 Cocoa Framework architecture. Most of the frameworks I use (developed prior to Apple coming up with the "official" iOS 8 Framework utilities and Xcode project options) use community provided [iOS-Universal-Framework|https://github.com/kstenerud/iOS-Universal-Framework], which once an artifact generated using that project template gets added to the "embedded binaries" section of a depending app (ie: Cordova app), Xcode has issues doing its thing because they were not built with the iOS 8 framework magic in it.

I suggest that the new behavior be the default (ie: add it to the embedded binaries section) but provide an option when declaring the framework dependency in `plugin.xml` so that we can override the behavior and specify whether or not we want it to the embedded (at that point the old <=5.2.0 behavior should take over, ie: just add it to the list of framework dependencies but not the the embedded binaries section of the project), may I suggest:

{{<framework custom="true" embed="false"/>}}

as the optional override (being assumed as {{true}} by default)?


> Plugins iOS Custom Frameworks are added to "Embedded Binaries" XCode project section by default
> -----------------------------------------------------------------------------------------------
>
>                 Key: CB-10034
>                 URL: https://issues.apache.org/jira/browse/CB-10034
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: CordovaLib
>    Affects Versions: 5.4.0, 5.3.3
>         Environment: OSX developing for iOS
>            Reporter: Roberto Andrade
>
> Since CB-9517 was merged and released in 5.3.0 it seems to have changed the approach to adding a "custom framework" dependency declared in {{plugin.xml}} with the {{<framework custom="true"/>}} directive into the xcode project, as per the [following change|https://github.com/apache/cordova-lib/commit/737f2df4e5c8de205c90cc29614483ebcd71f605].
> It assumes all frameworks are "embeddable", which is not true for a great chunk of frameworks out there that have not being built with the new iOS 8/XCode 6 Cocoa Framework architecture. Most of the frameworks I use (developed prior to Apple coming up with the "official" iOS 8 Framework utilities and Xcode project options) use community provided [iOS-Universal-Framework|https://github.com/kstenerud/iOS-Universal-Framework], which once an artifact generated using that project template gets added to the "embedded binaries" section of a depending app (ie: Cordova app), Xcode has issues doing its thing because they were not built with the iOS 8 framework magic in it.
> I suggest that the new behavior be the default (ie: add it to the embedded binaries section) but provide an option when declaring the framework dependency in {[plugin.xml}} so that we can override the behavior and specify whether or not we want it to the embedded (at that point the old <=5.2.0 behavior should take over, ie: just add it to the list of framework dependencies but not the the embedded binaries section of the project), may I suggest:
> {{<framework custom="true" embed="false"/>}}
> as the optional override (being assumed as {{true}} by default)?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org