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。