如何在Swift项目中编译MagicalRecord?

时间:2014-08-12 16:28:30

标签: ios swift magicalrecord

我添加了MagicalRecord后无法编译项目,我收到了这个错误:

MagicalRecord.h:14:1: error: function definition is not allowed here
MagicalRecord.h:42:28: error: cannot find interface declaration for 'NSObject', superclass of 'MagicalRecord'
MagicalRecord.h:51:4: error: expected a type
MagicalRecord.h:60:4: error: expected a type
MagicalRecord.h:85:32: error: expected a type
MagicalRecord.h:94:4: error: expected a type
MagicalRecord+Options.h:17:1: error: function definition is not allowed here
MagicalRecord+Options.h:43:1: error: function definition is not allowed here
MagicalRecord+Options.h:77:4: error: expected a type
MagicalRecord+Options.h:86:49: error: expected a type
MagicalRecord+Options.h:95:4: error: expected a type
MagicalRecord+Options.h:104:64: error: expected a type
MagicalRecord+Options.h:114:4: error: expected a type
MagicalRecord+Options.h:124:47: error: expected a type
MagicalRecord+Options.h:137:4: error: expected a type
MagicalRecord+Options.h:146:27: error: expected a type
MagicalRecord+Options.m:11:8: error: unknown type name 'MagicalRecordLoggingLevel'
MagicalRecord+Options.m:11:63: error: use of undeclared identifier 'MagicalRecordLoggingLevelVerbose'; did you mean 'kMagicalRecordLoggingLevel'?
MagicalRecord+Options.m:12:8: error: unknown type name 'BOOL'
fatal error: too many errors emitted, stopping now [-ferror-limit=]

如何让它在Swift项目下运行? 我需要修改版本吗? 有计划发布Swift版本的MagicalRecord吗?

2 个答案:

答案 0 :(得分:3)

  1. 最好使用Cocoapods来管理第三方库,当通过cocoapods添加到项目时,MagicalRecord可以正常工作。
  2. 好像您忘记在ProjectName-Bridging-Header.h标题文件中导入Foundation标题。
  3. 确保在项目构建设置中将ProjectName-Bridging-Header.h选为“Objective C Bridging Header”
  4. MagicalRecord的主要包含文件为CoreData+MagicalRecord.h,而不是MagicalRecord.h

答案 1 :(得分:3)

解决:我遵循了错误,并导入了框架

看起来像是Swift项目中的一个错误