2014-10-28 3 views
0

Мы создали приложение iOS некоторое время назад, которое отлично работает на Mac, на котором оно было разработано, но которое вызывает ошибки при попытке скомпилировать его на другом Mac.XCode: ожидаемый идентификатор или '('

Чтобы перевести его на второй 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

Убедитесь, что у вас одинаковые версии Xcode, и проверьте, используете ли вы абсолютные пути для чего-либо (вы не должны). Быстрая проверка абсолютных путей. Дублируйте все дерево исходных кодов на первом компьютере и проверьте, не строит ли копия. – gnasher729

+0

Пути не являются проблемой, так как это объявление класса с использованием системных типов. OP: вы пробовали глубокую чистку (Cmd + Opt + Shft + K)? – trojanfoe

+0

Версии XCode одинаковы, нет абсолютных путей, насколько я могу видеть, и глубокая очистка не разрешила проблему. – RikSaunderson

ответ

0

У меня возникла такая проблема некоторое время назад.

Вы должны очистить проект. Если все еще не работает, проверьте наличие ошибок, связанных с XCode, которые не могут создавать/изменять/удалять файлы, поскольку вы скопировали содержимое с USB-устройства, у вас могут быть проблемы с правами на файлы. Вы можете установить все права доступа к файлам в каталоге проекта на 777 пользователю, которого он запускает.

Причина, по моему мнению, состоит в том, что скомпилированные файлы отличаются от исходного кода, который вы ищете.

1

Проверьте, нет ли у вас символа пробела перед этой строкой. Просто установите курсор в начале @property, который дает вам проблемы, и попробуйте нажать обратное пространство один или два раза. Проверьте, не исчезла ли ошибка. Это то, что сработало для меня