Of course it should be considered. We did discuss this briefly, but I don't
think we added it as a feature request in time for 3.0.0.
What I did recommend however, is for plugins to use the
__has_feature(objc_arc) macro to support both ARC and non-ARC. This way,
including it in any kind of project setting it would work - without adding
this flag. Pre-3.0.0, ARC is _not_ enabled by default in the project
template (for plugin compatibility reasons), but in 3.0.0 we are enabling
it in the default template: https://issues.apache.org/jira/browse/CB-2180

More info here:
http://shazronatadobe.wordpress.com/2012/09/05/automatic-reference-counting-arc-and-cordova-plugins/

For pre-compiled binaries it's no problem (say the TestFlightSDK ships with
libTestFlight.a), and for small plugins to convert to use the macro, but I
can see it being a problem if we had to include the Facebook SDK with its
gajillion files that may or may not be ARC (since converting them may be a
maintenance nightmare for newer versions).

For that last scenario, I would recommend having that new compiler flags
attribute.


On Fri, Jun 21, 2013 at 11:37 AM, aaron barnes <aa...@stasis.org> wrote:

> I've really been enjoying the cordova cli/plugin.xml definition.
>
> I've been porting a bunch of old plugins to work with plugman's plugin.xml
> definition.  Generally it's been going well, however one problem I've come
> across a few times particularly when trying to apply it to old code or
> adapting 3rd party code is that the code isn't ARC compliant.  The
> preference would obviously be to make the code arc-compliant, but not being
> a pro in objective c, it's often easier to just add '-fno-objc-arc' as a
> compiler flag for the file in xcode.
>
> It would be great to add as an option for iOS builders, I'm thinking
> something like:
>
> <source-file src="src/ios/LegacyCode.m" compilerFlags="-fno-objc-arc"/**>
>
> in plugin.xml
>
> which would then insert something like :
>
> 93803FD21768C79200CB4E50 /* LegacyCode.m in Sources */ = {isa =
> PBXBuildFile; fileRef = 93803FCF1768C79200CB4E50 /* LegacyCode.m */;
> settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }
>
> into the project.pbxproj.
>
> would anybody else find this useful as a feature-request?  can it be
> considered?
>
> --aaron
>
>
>

Reply via email to