我们很久以前创建了一个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上看起来都是相同的。
答案 0 :(得分:1)
检查该行之前是否没有任何空格字符。只需将光标设置在@property的开头即可给您带来麻烦,并尝试按退格键一次或两次。看看错误是否消失。这对我有用
答案 1 :(得分:0)
前段时间我遇到过这样的问题。
您应该清理项目。如果仍然无效,请检查与XCode无法创建/修改/删除文件相关的任何错误,因为您从USB复制了内容,可能会出现文件权限问题。您可以将项目目录下的所有文件权限设置为777给正在运行的用户。
在我看来,原因是编译的文件与您要查找的源代码不同。