XCode:预期的标识符或'('

时间:2014-10-28 11:08:05

标签: ios objective-c xcode

我们很久以前创建了一个iOS应用程序,它在开发它的Mac上完美运行,但是当我们尝试在不同的Mac上编译它时会引发错误。

为了将其传输到第二台Mac,我们只需将整个源目录复制到USB记忆棒上。如果这是我的问题的原因,那么有人可以告诉我更好的方式来转移项目。

该项目通过CocoaPods引入了许多依赖项。 Pods项目/目标在两台Mac上都能正确构建。

出于传统兼容性原因,两台Mac都运行XCode 5.0.2并为iOS 6.1进行编译。

在尝试构建主项目时,我们会遇到几种类型的错误:

•预期标识符或'('

•程序中意外的'@'

•缺少方法声明的上下文

•预期的方法主体

这是我的一个头文件上的编译错误的一个例子(再次注意代码与在另一个Mac上正确编译的代码完全相同):

#import <UIKit/UIKit.h>
@interface DiagnosticViewController : UIViewController <UITextFieldDelegate>

@property (weak, nonatomic) IBOutlet UITextView *diagnosticReadout;
@property (weak, nonatomic) IBOutlet UITextField *connectionNameTextBox;  <- Unexpected ‘@’ in  program
-(void) messageReceived:(NSString*)webPublisherMessage;     <- Missing context for method declaration
@end         <-Expected method body

有没有人对正在发生的事情有任何想法?我只能假设构建设置有问题或包含路径或其他东西,但我已经检查了所有这些并且它们在两台Mac上看起来都是相同的。

2 个答案:

答案 0 :(得分:1)

检查该行之前是否没有任何空格字符。只需将光标设置在@property的开头即可给您带来麻烦,并尝试按退格键一次或两次。看看错误是否消失。这对我有用

答案 1 :(得分:0)

前段时间我遇到过这样的问题。

您应该清理项目。如果仍然无效,请检查与XCode无法创建/修改/删除文件相关的任何错误,因为您从USB复制了内容,可能会出现文件权限问题。您可以将项目目录下的所有文件权限设置为777给正在运行的用户。

在我看来,原因是编译的文件与您要查找的源代码不同。