2014-10-28 92 views
0

我们刚刚创建了一个iOS应用程序,它在开发它的Mac上完美工作,但当我们尝试在不同的Mac上编译它时引发错误XCode:预期的标识符或'('

为了将它转移到第二台Mac上,我们只是将整个源目录复制到U盘上,如果这是我的问题的原因,那么有人可以让我知道更好的方式来传输项目。该项目通过CocoaPods吸引了大量的依赖关系,Pods项目/目标在两台Mac上都能正确构建。

For legacy兼容性的原因,这两个Mac都运行XCode 5.0.2和编译为iOS 6.1。

当试图建立主体工程,我们得到的类型的几个错误:在程序

•预期标识符或“(”

•意外“@”•缺少上下文方法声明

•预期的方法体

这是编译错误在我的老天的一个例子DER文件(再次,代码是完全一样的,因为这其中是其他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上看起来都是相同的。

+0

检查您是否具有相同的Xcode版本,并检查您是否使用绝对路径进行任何操作(您不应该)。快速检查绝对路径:在第一台计算机上复制整个源代码树,并检查副本是否构建。 – gnasher729 2014-10-28 11:13:15

+0

路径不是问题,因为这是使用系统提供的类型的类声明。 OP:你是否尝试过深层清洁(Cmd + Opt + Shft + K)? – trojanfoe 2014-10-28 11:17:06

+0

XCode的版本是相同的,目前没有绝对路径,因为我可以看到并且深度清理没有解决问题 – RikSaunderson 2014-10-28 11:24:38

回答

0

我以前有过类似的问题。

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

在我看来,原因在于被编译的文件与您期望的源代码不同。

1

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