2

1か月間問題なく実行されていたプロジェクトのAppDelegate.hファイルで、コンパイル中に3つの不明なエラーが発生しました。どれだ!

解析の問題-予期される識別子または'('

解析の問題-予想される')'

セマンティックの問題-不明なタイプ名'ViewController'; 'UIViewController'のことですか?

コードを1行ずつチェックしましたが、構文エラーやセマンティックの問題はありません(プロジェクトにViewController.h、ViewController.m、ViewController.xibがあります)。これらは、xcodeがAppDelegate.hファイルでエラーを表示する未知のエラーです。

AppDelegate.h

#import <UIKit/UIKit.h>

@class ViewController;
@class SignInViewController; 

@class StagesViewController;
@class ResultViewController;
@class myFacebook;

@interface AppDelegate : UIResponder <UIApplicationDelegate>{
    myFacebook *myFB;
    NSString *appVer;

    
}

+ (NSString*)Username;
+ (void)setUsername:(NSString*)newUser;
+ (NSString*)UserID;
+ (void)setUserID:(NSString*)newId;

@property (nonatomic, retain) myFacebook *myFB;

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UINavigationController *theNavigationController;
@property (strong, nonatomic) ViewController *viewController;
@property (strong, nonatomic) SignInViewController *signInViewController;
@property (strong, nonatomic) StagesViewController *stagesViewController;

@property (strong, nonatomic) ResultViewController *resultViewController;

@end

私は先週からこれらのエラーを探していますが、それを解決することができないので、どんな種類の助けも大いに感謝されます。

4

2 に答える 2

12

問題はAppDelegate.hあなたが投稿したものではありません。そのファイルは問題なくコンパイルされます。

.mエラーが発生したときに Xcode がコンパイルしようとしているファイルを特定する必要があります。ログ ナビゲーターに移動します ([表示] > [ナビゲーター] > [ログ ナビゲーターを表示])。最新のビルドを選択します。エラーのため、横に赤い円が表示されます。それをクリックして、そのビルドのログを表示します。

「Compile AppDelegate.m」または「Compile ViewController.m」のような行がリストにあり、その下にエラーがリストされているはずです。これは、Xcode がコンパイルしようとしているファイルです。

今そのファイルに行きます。あなたの#importステートメントがあるファイルの上部を見てください。誤って入力した可能性のある文字をチェックします。

そこに迷子の文字が見つからない場合は、インポートされた各ファイルを確認してください。ファイルの最後を調べて、不要な文字、@endステートメントの欠落、セミコロンの欠落、中括弧の欠落、または括弧の欠落を探します。これらの問題のいずれかにより、次にインポートされたファイルまたはファイルに表示されるコンパイラ エラーが発生し.mます。

リビジョン管理システム (git や svn など) を使用している場合は、それを使用してファイルを比較します。.hファイルの先頭または末尾、またはファイルの先頭で、意味のない変更を探し.mます。ビルドが壊れている間にファイルをチェックインした場合は、古い作業リビジョンと比較する必要があります。

リビジョン管理システムを使用していない場合は、すぐに使用を開始する必要がある理由がわかりました。

于 2012-08-17T05:43:44.610 に答える
3

実際の問題については、上記の Rob Mayoff の回答を参照してください: .m または .h ファイル内の誤った文字。

彼の返答に 1 つ付け加えておきたいことがあります。バージョン管理を使用していない場合は、お気に入りのファイル ブラウザーを開き、ソース ファイル ツリーに移動し、ファイルを日付順に並べ替えてください。最近変更したファイルを探し始めます。

于 2012-11-14T05:31:54.067 に答える