incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shazron Abdullah (JIRA)" <>
Subject [jira] [Commented] (CB-274) iOS Cordova Template Project is not compilable with default Apple's ARC compiler 3.0
Date Thu, 10 May 2012 21:26:49 GMT


Shazron Abdullah commented on CB-274:

D'oh - we can't have dual support of course, since this is compile time and we ship a built
binary for the framework. We'll have to turn it on, and require ARC. The problem is, all the
plugins will need to upgrade as well. 

This then becomes a communication issue that we will need to send to devs ahead of time. We
can push this to 2.0 but we must have an extended RC period to iron out the bugs, but we can
start blogging about this change now.

If are to push it to now (1.8.0) my suggestion is to *exclude* ARC for CDVPlugin, and instruct
users how to exclude ARC for their plugin files:
- this way there is a transition. We can also print out warnings in the console.log about
the migration to ARC.
> iOS Cordova Template Project is not compilable with default Apple's ARC compiler 3.0
> ------------------------------------------------------------------------------------
>                 Key: CB-274
>                 URL:
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 1.4.0
>         Environment: Mac OSX 10.7 XCode 4.2
>            Reporter: Oleg Gryb
>            Assignee: Shazron Abdullah
>             Fix For: 1.8.0
> The default and recommended compiler on Mac is Apple's LLVM 3.0 and this is the only
one that supports ARC, however PhoneGap uses GCC LVM 4.2 and when I tried to change the compiler
to Apple's, I got syntax errors. I've changed the PhoneGap code as described below, but I'm
not sure if it will affect anything:
> AppDelegate.m
> //    self.window = [[[UIWindow alloc] initWithFrame:screenBounds] autorelease];
>     self.window = [[UIWindow alloc] initWithFrame:screenBounds];
> ...
> //    self.viewController = [[[MainViewController alloc] init] autorelease];
>     self.viewController = [[MainViewController alloc] init];
> ...
> - (void) dealloc
> {
> //	[super dealloc];
> }
> main.m
> //    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
>     int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
> //    [pool release];

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message