Mogenerator和ARC在XCode 4.6

我刚刚开始将mogenerator与核心数据集成到一个应用程序项目中,按照最佳实践推荐。 我添加了以下构build脚本,并带有一个标志来支持ARC。

mogenerator -m FavesDataModel.xcdatamodeld/FavesDataModel.xcdatamodel --template-var arc=true 

该脚本成功地构build了所有必需的类和子类。 那时候,我把所有生成的文件复制到我的项目中。 最初,我得到了一个干净的成功构build。 但是,当尝试另一个生成(不作任何更改)时,会出现以下ARC错误:

 ARC forbids Objective-C objects in structs or unions 

在用下划线生成的文件中发生错误。 有趣的是,当构build脚本构build文件如下所示:

 extern const struct FavoriteAttributes { __unsafe_unretained NSString *maxCFS; __unsafe_unretained NSString *maxFeet; __unsafe_unretained NSString *minCFS; __unsafe_unretained NSString *minFeet; __unsafe_unretained NSString *stationIdentifier; __unsafe_unretained NSString *stationRealName; __unsafe_unretained NSString *stationState; } FavoriteAttributes; 

但是,在成功构build之后,XCode将删除__unsafe_unretained属性。

使用mogenerator与ARC打开有已知的问题? 任何想法的解决scheme或解决方法? 谢谢! V

尝试从构build脚本中删除–template-var arc = true。

然后在XCode,项目属性,编译源,设置问题文件有以下标志

 fno-objc-arc 

这将仅closures这些文件的ARC。