MagicalRecord 示例应用程序无法在 Xcode 7 中编译

Posted

技术标签:

【中文标题】MagicalRecord 示例应用程序无法在 Xcode 7 中编译【英文标题】:MagicalRecord sample app will not compile in Xcode 7 【发布时间】:2016-01-03 22:15:09 【问题描述】:

我下载了 MagicalRecord 存储库的副本(提交 946d862cdf3665da52ce14a98c0bfba425bc09fb),但我无法在 Xcode 7.2 (7C68) 中编译 MagicalRecord 示例 ios 应用程序(食谱)。我收到以下编译错误:

... MagicalRecord-master/Samples/iOS/Application/Support/Recipes-Prefix.pch:14:13: 找不到“CoreData+MagicalRecord.h”文件

我还收到有关更新到推荐设置的警告。我将项目更新为推荐的设置,但仍然出现同样的错误。

我尝试了 CoreData+MagicalRecord.h 的各种路径,但 Xcode 似乎找不到它。我搜索了存储库,我也找不到。我试过了:

#import <MagicalRecord.h>

此指令不会抛出错误,但现在我收到此错误消息:

... MagicalRecord-master/MagicalRecord/MagicalRecord.h:17:9: 'MagicalRecord/MagicalRecordXcode7CompatibilityMacros.h' 文件不 找到了

MagicalRecord.h 包含以下代码行:

#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>

//! Project version number for MagicalRecord.
FOUNDATION_EXPORT double MagicalRecordVersionNumber;

//! Project version string for MagicalRecord.
FOUNDATION_EXPORT const unsigned char MagicalRecordVersionString[];

#import <MagicalRecord/MagicalRecordXcode7CompatibilityMacros.h>
#import <MagicalRecord/MagicalRecordInternal.h>
#import <MagicalRecord/MagicalRecordLogging.h>
...

我尝试了各种通往 MagicalRecordXcode7CompatibilityMacros.h 的路径,但 Xcode 找不到标头。我搜索了存储库,它位于:MagicalRecord-master/MagicalRecord/Core/MagicalRecordXcode7CompatibilityMacros.h

请帮助我让示例代码正常工作。谢谢。

【问题讨论】:

你已经下载了Magical Record框架或者使用cocoapods安装了? 我下载了框架并尝试运行框架中包含的示例应用程序。 @sebrenner -- 你解决过这个问题吗?我在 Xcode 7.2 拒绝找到正确的标头时遇到问题,它似乎具有正确的路径。 我通过可可豆荚将 MagicalRecord 添加到我的项目中,它工作正常。否则,如果您只是在项目中复制一个目录,请删除第一个路径组件“MagicalRecord/”,然后 xCode 提供您将括号 替换为“”,但这很烦人。 【参考方案1】:

我遇到了同样的问题。我将所有

例子:

#import <MagicalRecord/MagicalRecordXcode7CompatibilityMacros.h>
#import <MagicalRecord/MagicalRecordInternal.h>
#import <MagicalRecord/MagicalRecordLogging.h>

变成:

#import "MagicalRecordXcode7CompatibilityMacros.h"
#import "MagicalRecordInternal.h"
#import "MagicalRecordLogging.h"

在每个 MR 文件中完成此操作后,它就可以工作了。您可能需要备份以防 pod 更新它。

这需要一段时间,但它奏效了。

【讨论】:

以上是关于MagicalRecord 示例应用程序无法在 Xcode 7 中编译的主要内容,如果未能解决你的问题,请参考以下文章

带有 UITableView 示例的 MagicalRecord

无法在具有 MagicalRecord [核心数据] 的实体中分配给 ...

MagicalRecord 总是出错 - 无法读取数据

MagicalRecord SQLite 文件为空

MagicalRecord saveWithBlock 用法现在无法在 XCode 7 beta 5 下编译

MagicalRecord 获取关系 id 为 x 的一对多关系中的所有实体