【问题标题】:error in ACAccount.h in Simulator-iOS 7.1Simulator-iOS 7.1 中的 ACAccount.h 错误
【发布时间】:2014-10-08 18:04:11
【问题描述】:

我正在尝试使用 xcode 模拟器构建和测试应用程序,但在构建过程中,我在 ACAccount.h、ACAccountType.h 等中遇到错误。 “奇怪的事情”(至少对我来说,因为我是使用 xcode 的新手)是,如果我点击有错误的 .h 文件,它们不会出现在项目代码下,而是出现在

Simulator - iOS 7.1-> Frameworks -> Accounts -> ACAccount.h

这是不可修改的。

错误示例如下:

行:

 @class ACAccountType,ACAccount Credential;    --> Illegal interface qualifier

 ACCOUNTS_CLASS_AVAILABLE(NA, 5_0)
 @interface ACAccount : NSObject       -->Objective-C declarations may only appear in global scope

如果 .h 是预定义文件.. 我该如何解决这些错误?

非常感谢!

【问题讨论】:

  • 如果这是头文件的复制粘贴,则表明该文件已以某种方式损坏-您有错误的第一行应为:@class ACAccountType, ACAccountCredential;-即转发类声明。
  • 是的,这是复制粘贴错误.. ";"在线..问题更正
  • 显示正在执行ACAccount.h#import 的一些文件 - 读起来就像您将#import 放在@interface foo () @end 块中。导入语句最好放在任何@ 部分之外的文件顶部。
  • 请把这个写成答案,这样我就可以接受了:)

标签: ios objective-c xcode acaccount


【解决方案1】:

通常,当您在系统提供的标头中遇到“非法接口限定符”之类的项目时,这表明您已将 #import 语句放置在 @interface 块中,例如:

@interface foo ()

#import <Accounts/ACAccount.h>

@end

这会生成有关正在导入的文件中的内容的错误(例如,您的 illegal interface qualifier 错误),而实际问题是将 #import 语句放入 @interface 块中是无效的。

您应该将#import 语句放在文件顶部,任何@interface@implementation 块之外。

如果放到@implementation部分,错误就变成了:

错误:Objective-C 声明只能出现在全局范围内

【讨论】:

    猜你喜欢
    • 2014-04-21
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    相关资源
    最近更新 更多