Ios XCode 4.6中的发电机和电弧

Ios XCode 4.6中的发电机和电弧,ios,objective-c,xcode,core-data,mogenerator,Ios,Objective C,Xcode,Core Data,Mogenerator,我刚刚开始将mogenerator集成到具有核心数据的应用程序项目中,按照建议将其作为最佳实践。我添加了以下构建脚本,带有一个支持ARC的标志 mogenerator -m FavesDataModel.xcdatamodeld/FavesDataModel.xcdatamodel --template-var arc=true 该脚本成功地构建了所有必需的类和子类。当时,我将所有生成的文件复制到我的项目中。最初,我得到了一个干净的成功构建。但是,当尝试另一个构建(不进行任何更改)时,它会失败

我刚刚开始将mogenerator集成到具有核心数据的应用程序项目中,按照建议将其作为最佳实践。我添加了以下构建脚本,带有一个支持ARC的标志

mogenerator -m FavesDataModel.xcdatamodeld/FavesDataModel.xcdatamodel --template-var arc=true
该脚本成功地构建了所有必需的类和子类。当时,我将所有生成的文件复制到我的项目中。最初,我得到了一个干净的成功构建。但是,当尝试另一个构建(不进行任何更改)时,它会失败,并出现以下ARC错误:

ARC forbids Objective-C objects in structs or unions
错误发生在使用下划线生成的文件中。有趣的是,当构建脚本按照如下方式构建文件时:

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;
但是,在成功构建之后,XCode会删除_unsafe_unretained属性

在启用ARC的情况下使用mogenerator是否存在已知问题?有什么解决方案或解决办法吗?谢谢V

尝试从构建脚本中删除--template var arc=true

然后在XCode、项目属性、编译源代码中,将问题文件设置为具有以下标志

fno-objc-arc

这将仅关闭这些文件的ARC。

\uuuuu unsafe\u unrepaired
不应在生成的文件中删除,这听起来很奇怪……模板变量在解决ARC问题时是正确的。您确定Xcode使用了正确生成的类文件吗?您的mogenerator命令将把它们放在项目根目录中。您必须在每次生成新文件时始终添加此参数。