cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Filip Maj (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CB-2718) .a files cannot be installed properly, it needs to be in "Build Phases/Link Binary with Libraries"
Date Fri, 17 May 2013 17:09:15 GMT

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

Filip Maj resolved CB-2718.
---------------------------

    Resolution: Fixed

Resolved in latest master. Can now add a {{framework="true"}} attribute to {{<source-file>}}
elements to have that file added as a framework to iOS projects.

Pushed to npm as 0.7.4.
                
>  .a files cannot be installed properly, it needs to be in "Build Phases/Link Binary with
Libraries"
> ---------------------------------------------------------------------------------------------------
>
>                 Key: CB-2718
>                 URL: https://issues.apache.org/jira/browse/CB-2718
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS, Plugman
>    Affects Versions: Master
>            Reporter: Shazron Abdullah
>            Assignee: Anis Kadri
>
> plugin.xml:
> https://github.com/shazron/TestFlightPlugin/blob/b55cd6e7f11a599223645511cb0c6e9741648b9b/plugin.xml#L37
> As you can see, the .a file is installed as a *source-file*, which is needed for the
file to be copied into the *Plugins* folder. The file is also added to the *Build Phases/Compile
Sources* phase when it shouldn't be - but this is harmless.
> The .a file needs to be installed into the *Build Phases/Link Binary with Libraries*,
if not there is a linker error. To do this, you could specify the file as a *framework* tag,
setting the *src* attribute. However, no matter what you do, you can't get the right path
since the framework item is set to "Relative to Group" in Xcode, and this is set to the root
of the project folder. 
> So if the project folder is "/Users/Desktop/FooProject", that is the root of the *Frameworks*
group as well. The *Plugins* folder would be in "/Users/Desktop/FooProject/FooProject/Plugins",
and there is no way to know this ahead of time (note the extra FooProject), if not, I could
set the framework *src* attribute to "FooProject/Plugins/blah" (but this is not ideal, and
is confusing)
> !https://f.cloud.github.com/assets/36107/261545/7a0b933c-8cf8-11e2-8cd7-446a0b62c582.jpg|width=640!
> Not sure how to fix this but some suggestions:
> 1. plugman appends the "FooProject/Plugins" part to the src (only for a user lib), so
this configuration could work:
> {code}
> <source-file src="TestFlight1.1/libTestFlight.a" target-dir="TestFlightPlugin/TestFlight1.1"
/>
> <framework src="TestFlightPlugin/TestFlight1.1/libTestFlight.a" />
> {code}
> This would work a bit better if CB-2717 was implemented.
> 2. Or better yet, have a *framework=[boolean]* attribute on a *source-file* element:
> {code}
> <source-file src="TestFlight1.1/libTestFlight.a" target-dir="TestFlightPlugin/TestFlight1.1"
framework="true"/>
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message